
Linux Program
文章平均质量分 67
laohan_
贵在坚持
展开
-
关于uboot.map 文件的作用
用make命令编译时自动生成的,里面包含所有的函数逻辑地址.printf("0x%x\n", function_name); /* 这个逻辑地址,可以在u-boot.map里找到对应的函数名,用于是debug查错,相当好,例如函数指针. */实际上,kernel开发,也常常用syste.map文件.LDFLAGS += -Bstatic -T $(LDSCRIPT) -Ttex原创 2014-10-13 23:24:45 · 1947 阅读 · 0 评论 -
ftok
ftok目录ftok函数ftok原型编辑本段ftok函数系统建立IPC通讯 (消息队列、信号量和共享内存) 时必须指定一个ID值。通常情况下,该id值通过ftok函数得到。编辑本段ftok原型头文件:#include #include 如下:key_t ftok( const char * fname, int id )fname就是你指转载 2013-03-17 16:23:01 · 1001 阅读 · 0 评论 -
使用 GDB 调试多进程程序
使用 GDB 调试多进程程序日期:2007-08-06 作者:田强 来自:IBM DW中国GDB 是 linux 系统上常用的调试工具,本文介绍了使用 GDB 调试多进程程序的几种方法,并对各种方法进行比较。GDB 是 linux 系统上常用的 c/c++ 调试工具,功能十分强大。对于较为复杂的系统,比如多进程系统,如何使用 GDB 调试呢?考虑下面这个三进程系统:进程转载 2013-03-15 17:37:49 · 745 阅读 · 0 评论 -
command alias
【Linux 命令行】每次嫌手动输入一长串命令更新系统太麻烦?可以在 ~/.bashrc 中设置别名喔~ 只需在该文件末尾添加alias up='sudo aptitude update && sudo aptitude upgrade'一行,每次更新只需在命令行中输入 up 就可以啦!转载 2013-03-01 16:16:49 · 677 阅读 · 0 评论 -
Linux 下c的动态链接库的生成
Linux 下c的动态链接库的生成动态链接库不是linux独有的特性,在windows下面也存在这样的特性。一般来说,windows下面的动态连接库是以*.dll作为结尾的,而linux下面的动态连接库是以*.so结尾的。和静态链接库相比,动态连接库可以共享内存资源,这样可以减少内存消耗。另外,动态连接是需要经过操作系统加载器的帮助才能被普通执行文件发现的,所以动态连接库可以减少链接的次数。有原创 2013-02-27 18:45:54 · 3223 阅读 · 0 评论 -
Linux锐捷上网
Linux锐捷上网(建议用第一种方法)下面的教程只在肇庆学院测试过,其他学校没测试过,慎用!一:(使用时间截止为2013--3 --1 )用mentohust上网的步骤:1.下载mentohust,安装mentohust2.在 /etc 下新建一个mentohust的文件夹3.把8021x.exe和W32N55.dll复制到2建立的mentohust的文件夹内(8021x.ex原创 2012-02-14 14:33:16 · 980 阅读 · 0 评论 -
Unix 信号大全
信号的概念: 首先,每个信号都有一个名字。这些名字都以三个字符 S I G开头。例如,S I G A B RT是夭折信号,当进程调用a b o r t函数时产生这种信号。S I G A L R M是闹钟信号,当由a l a r m函数设置的时间已经超过后产生此信号。 V 7有1 5种不同的信号, S V R 4和4 . 3 + B S D均有3 1种不同的信号。在头文件中,这原创 2013-03-09 20:53:36 · 2186 阅读 · 0 评论 -
setjmp and longjmp
setjmp与刺激的abort()和exit()相比,goto语句看起来是处理异常的更可行方案。不幸的是,goto是本地的:它只能跳到所在函数内部的标号上,而不能将控制权转移到所在程序的任意地点(当然,除非你的所有代码都在main体中)。为了解决这个限制,C函数库提供了setjmp()和longjmp()函数,它们分别承担非局部标号和goto作用。头文件申明了这些函数及同时所需的j转载 2013-03-08 16:07:02 · 723 阅读 · 0 评论 -
内核态与用户态
内核态与用户态分类: Linux学习2010-01-13 14:27 2109人阅读 评论(1) 收藏 举报 内核态与用户态是操作系统的两种运行级别,intel cpu提供Ring0-Ring3三种级别的运行模式。Ring0级别最高,Ring3最低。其中特权级0(Ring0)是留给操作系统代码,设备驱动程序代码使用的,它们工作于系统核心态;而特权极3(Ring3)转载 2013-02-25 23:13:28 · 784 阅读 · 0 评论 -
sig_automic_t
目录Linux内核中的原子操作 atomic_t当把变量声明为该类型会保证该变量在使用或赋值时, 无论是在32位还是64位的机器上都能保证操作是原子的, 它会根据机器的类型自动适应。 这个类型是定义在signal.h文件中。下面来说说这个类型。 在处理信号(signal)的时候,有时对于一些变量的访问希望不会被中断,无论是硬件中断还是软件中断,这就要求访问或改变这些变量需要在计算机转载 2013-03-08 17:30:32 · 1014 阅读 · 0 评论 -
Conditional Inclusion
4.11.3 ConditionalInclusionIt is possible to control preprocessing itself with conditionalstatements that are evaluated during preprocessing. This provides away to include code selectively, dependin原创 2012-12-31 21:08:03 · 698 阅读 · 0 评论 -
内核空间与用户空间
http://www.cnblogs.com/gutian98/archive/2009/09/03/1559560.html内核空间与用户空间 做驱动算来快6年了,今天突然看到一个问题:你自己是怎么样理解内核空间和用户空间的?乍一看到这问题,说实话,自己头脑有点空白的感觉。很奇怪的感觉,因为在我脑海里潜意识我对这个问题应该还是很清楚的,内核驱动,用户程序,系统调用什转载 2012-09-16 22:45:45 · 676 阅读 · 0 评论 -
Chapter1-Chapter2
Chapter 1Linux Kernel 概述Linux kernel 各版本源代码行数POSIX (Portable Operating System Interface for Computing System) 是由IEEE和ISO / IEC 开发的一簇标准。该标准是基于现有的UNIX实践和经验,描述了操作系统的调用服务接口。用于保证编制的应用程转载 2013-04-02 23:48:10 · 2277 阅读 · 0 评论 -
IO独立编址 和 存储器统一编址(转载)
在不同的系统中,I/O端口的地址编排有两种形式:存储器统一编址和I/O独立编址。 存储器统一编址(存储器映像编址):在这种编址方式中,I/O端口和内存单元统一编址,即把I/O端口当作内存单元对待,从整个内存空间中划出一个子空间给I/O端口,每一个I/O端口分配一个地址码,用访问存储器的指令对I/O端口进行操作。 存储器统一编址的优点是:I/O端口的数目几转载 2013-03-22 09:08:25 · 3216 阅读 · 0 评论 -
第十四章进程间的通信
第十四章进程间的通信管道的概念管道是Linux / UNIX 系列中比较原始的进程间通信方式,他实现数据以一种数据流的方式在进程间流动。在系统中其相当于文件系统上的一个文件,来缓存所要传输的数据。在某些特征性上有不同于文件,例如,当读出后,则管道中就没有数据了,但是文件没有这个特性。顾名思义,匿名管道在系统中是没有实名的,并不可以在文件系统中一任何方式看到管道。他只是进程的一种资源原创 2013-03-22 10:40:04 · 2533 阅读 · 0 评论 -
ARP局域网攻击
/*linux 、unix 下简单的ARP局域网攻击 */ p style="text-align: left;">#include#include#include#include#include#include#include#include#define ARP_LEN 30 //ARP帧头字节数void mac_str( char *mac,原创 2014-10-13 23:48:15 · 2382 阅读 · 0 评论 -
ping
ICMP Structure在linux gnu c library 中函数icmp的定义 1 struct icmp2 {3 u_int8_t icmp_type; /* type of message, see below */4 u_int8_t icmp_code; /* type sub code */原创 2014-10-13 23:41:26 · 2464 阅读 · 0 评论 -
进程控制编程
1.Get the process ID#include #include vpid_t getpid(void)获取本进程ID。vpid_t getppid(void)获取父进程ID。2.Create processA:fork#includepid_t fork(void)功能:创建子进程f原创 2014-10-13 23:39:01 · 1748 阅读 · 0 评论 -
TCP 传输协议
TCP 传输协议 TCP 连接建立协议 名词解释:序号用来标识 从TCP发端向TCP接收端发送的数据字节流,它表示在这个报文段中的第一个数据字节。 主要字段解释:① 32 位序列号:该序列号有自己随机产生 , 用于ACK的确认 ,这个字段一致存在② 32 位确认序列号:等于上次已成功接收到数据字节序号加1,并且只有AC原创 2014-10-13 23:36:48 · 1974 阅读 · 0 评论 -
linux 编译jsoncpp
下载scons 在这里http://www.scons.org/解压 tar -zxvf scons-2.0.1.tar.gz设定环境变量# export MYSCONS=解压的路径# export SCONS_LIB_DIR=$MYSCONS/engine开始编译jsoncpp# cd jsoncpp-src-0.5.0结果有一些错误 也可能是早期的版本是如原创 2014-10-13 23:29:04 · 1788 阅读 · 0 评论 -
unix下的I/O——阻塞,非阻塞,同步,异步
前4种模型的主要区别在于第一阶段,因为它们的第二阶段都是一样的:在数据从内核缓冲区拷贝到进程缓冲区期间,进程阻塞与recvfrom这个系统调用中。参考 Richard Stevens的“UNIX® Network Programming Volume 1, Third Edition: The Sockets Networking”。Stevens一共提出了五种 IO Model:原创 2014-10-13 23:25:48 · 1994 阅读 · 0 评论 -
TCP洪水攻击
TCP洪水攻击 下面的程序是根据网友 ssffz1 改编的 ,修改后得效果不是很好,但作为学习还是可以说得过去,请支持原创http://bbs.chinaunix.net/thread-2145439-1-1.html改写的源代码 http://www.kuaipan.cn/file/id_51649056203605134.htm原始的源代码 http原创 2014-10-13 23:34:49 · 3016 阅读 · 0 评论 -
内核态与用户态
内核态与用户态分类: Linux学习2010-01-13 14:27 2109人阅读 评论(1) 收藏 举报 内核态与用户态是操作系统的两种运行级别,intel cpu提供Ring0-Ring3三种级别的运行模式。Ring0级别最高,Ring3最低。其中特权级0(Ring0)是留给操作系统代码,设备驱动程序代码使用的,它们工作于系统核心态;而特权极3(Ring3)转载 2013-11-06 10:22:37 · 941 阅读 · 0 评论 -
Configuring Fedora Linux Remote Access using SSH
PreviousTable of ContentsNextRemote Access to the Fedora Linux Desktop Displaying Fedora Linux Applications Remotely (X11 Forwarding)Purchase and download t转载 2013-11-06 10:20:07 · 779 阅读 · 0 评论 -
Ping
ICMP Structure 在linux gnu c library 中函数icmp的定义 1 struct icmp 2 { 3 u_int8_t icmp_type; /* type of message, see below */ 4 u_int8_t icmp_code; /* type su原创 2013-04-21 17:20:01 · 986 阅读 · 0 评论 -
Setsockopt
Setsockopt选项(个人总结)来源: ChinaUnix博客 日期: 2007.11.01 14:37 (共有条评论) 我要评论 有时候我们要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要控制套接字的选项了. 以下资料均从网上收集转载 2013-04-19 18:50:09 · 1299 阅读 · 0 评论 -
分组、分片、数据报
原创 2013-04-25 21:47:46 · 899 阅读 · 0 评论 -
跟我一起写 Makefile
跟我一起写 Makefile陈皓 (优快云)概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在U转载 2013-04-11 20:38:08 · 829 阅读 · 0 评论 -
外中断
外中断外设主要是通过端口(外设芯片的寄存器)和cpu通信的外中断分为:1.可屏中断 2.不可屏蔽中断可屏蔽中断信息来自于cpu外部,中断类型吗是通过数据总线送入cpu的;而内部中断的中断类型吗是在cpu产生的不可屏蔽中断的类型码是固定为2,所以中断过程中,不需要取中断类型码.键盘中断键盘中断对应的端口是60h,其中转载 2012-09-04 20:48:49 · 516 阅读 · 0 评论 -
多参数传递问题
多参数传递问题将data段中的字符串全部转化成为大写assume cs : code data segment db 'word',0 db 'unix',0 db 'wind',0 db 'good',0data endsprogram:code segment start :原创 2012-09-01 09:49:29 · 737 阅读 · 0 评论 -
fedora 15网络调试
1.新建一个ifcfg-eml文件: IPADDR=xxx.xxx.xxx.xxx NEKMASK=255.255.255.0 GATEWAY=xxx.xxx.xxx.xxx IP6=no 2.面板-》system settings->network选择ON 如果出现option按钮,呵呵,成功了 fedora15网卡原创 2012-02-14 14:46:09 · 610 阅读 · 0 评论 -
重定位
重定位 一、定义:重定位就是把程序的逻辑地址空间变换成内存中的实际物理地址空间的过程,也就是说在装入时对目标程序中指令和数据的修改过程。他是实现多道程序在内存中同时运行的基础。重定位有两种,分别是动态重定位与静态重定位 二、分类 1、静态重定位:即在程序装入内存的过程中完成,是指在程序开始运行前,程序中的各个地址有关的项均已完成重定位,地址变换通常是在装入时一次原创 2012-02-14 14:54:47 · 645 阅读 · 0 评论 -
dlopen
dlopen基本定义 功能:打开一个动态链接库 包含头文件: #include 函数定义: void * dlopen( const char * pathname, int mode ); 函数描述: 在dlopen的()函数以指定模式打开指定的动态连接库文件,并返回一个句柄给调用进程。使用dlclose()来卸载打开的库。 mode:原创 2012-02-14 14:53:31 · 706 阅读 · 0 评论 -
linux pro about fprintf
fprintf(stderr,"Usage:%s hostname portnumber\a\n",argv[0]) 这段代码是什么含义? stderr是什么东西? 最后在屏幕上面显示的是什么样子 ?stderr是标准错误输出流,默认输出到终端窗口,文件描述器代码为2。 stdin是标准文件输入流,stdout是标准文件输出流。 上面代码的意思就是提示错误信息,给出正确的用法。原创 2012-02-14 14:51:31 · 607 阅读 · 0 评论 -
虚拟机文件共享
虚拟机文件共享主机设置: 1.分配数据空间 点击控制菜单“设备”→“分配数据空间”。进入对话框后先添加新的数据空间,设置“数据空间位置”时大家一定要点击下拉列表,选择“其它”,如图3。图3 添加数据空间 这样才能在文件夹列表中找到主机中的文件夹,选择需要共享的文件夹后返回。勾选“固定分配”选项,现在我们在“数据空间”列表中就可以看到共原创 2012-02-14 14:50:29 · 1045 阅读 · 0 评论 -
Samba_1
一、Samba简介 给Windows客户提供文件服务是通过samba实现的,凡架设过MS Windows网络的人都知道MSWindows网络的核心是SMB/CIFS,而samba也是一套基于UNIX类系统、实现SMB/CIFS协议的软件,作为UNIX的克隆,Linux也可以运行这套软件。和NT相比较,samba的文件服务功能一点也不亚于NT,效率很高,借助Linux本身,可以实现用原创 2012-02-14 14:49:43 · 561 阅读 · 0 评论 -
类的构造方法小结:
类的构造方法小结:1.构造方法名和类名相同2.构造方法没有返回值3.主要作用是完成对新对象的初始化4.在创建新对象时,系统会自动的调用该类的构造方法5.一个类可以有多个构造方法6.每个类都有一个默认的构造方法原创 2012-02-14 14:58:46 · 392 阅读 · 0 评论 -
export
export编辑本段简介 Linux export命令 功能说明:设置或显示环境变量。 语 法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登录操作。编辑本段参数设置 -f 代表[变量名称]中为函数名原创 2012-02-14 14:54:19 · 460 阅读 · 0 评论 -
GCC 工作流程图
GCC:Gcc的工作流程图步骤:(1)预处理(Preprocesssing):预处理的过程也称为预编译,主要功能是对各种预处理命令进行处理。如头文件的包含(include),宏定义的扩展(define)以及条件编译(ifdef...endif)等。(2)编译(Compilation &Assembly)。编译的过程是由源代码翻译成为机原创 2012-02-14 14:52:47 · 915 阅读 · 0 评论 -
Linux软件的安装
YUM安装常用软件1.多媒体播放器 (XMMS)2.多媒体播放器 (MPlayer)3.PDF阅读器 (Adobe Reader)4.Download Manager下载工具 (Downloader for X)5.防火墙软件 (Firestarter)6.网络流量分析工具 (Ethereal)7.RAR 档案工具 (rar)8.FTP 客户端 (gFTP)9.原创 2012-02-14 14:52:11 · 583 阅读 · 0 评论