linux系统编程
文章平均质量分 64
TONGGETONGGE
这个作者很懒,什么都没留下…
展开
-
linux线程使用简单实例
<br />#include <pthread.h><br />#include <stdio.h><br />#include <stdlib.h><br />void * fun(void *p)//接收的只是数据的地址<br />{<br /> int (*b)[3] = (int (*)[3])p;<br /> int i,j;<br /> for(i=0;i<3;++i)<br /> for(j=0;j<3;++j)<br />原创 2010-08-08 20:40:00 · 456 阅读 · 0 评论 -
getopt函数传入命令行
<br />#include <unistd.h> <br />#include <stdio.h> <br />int main(int argc, char **argv) <br />{ <br /> int ch; <br /> opterr = 0; <br /> while( ( ch = getopt(原创 2010-08-10 11:14:00 · 427 阅读 · 0 评论 -
构造库函数
<br /><br />构造静态库<br /> 构造静态库要使用 AR 工具<br />构造方法:gcc –c addvec.c multvec.c //生成addvec.o和multvec.o 目标文件<br /> ar rcs libvector.a addvec.o multvec.o //生成libvector.a 静态库<br />使用静态库:可能包含类似 libvector.h 这样的头文件,里面包含了使用函数的声明<br />原创 2011-03-14 10:22:00 · 505 阅读 · 0 评论 -
mtrace监测程序内存泄露
<br /> Finding Memory Leaks Using mtrace<br />When testing code on small samples, small problems such as memory leaks are often undetectable. However, once the program is run on a larger scale, existing memory leaks become larger problems; they often will原创 2011-03-25 09:51:00 · 2596 阅读 · 0 评论 -
防止僵尸进程的方法:
<br />1.每次执行fork()前利用waitpid查看是否有子进程需要处理<br />2.调用signal(SIGCHLD,fun)注册信号处理函数,在函数里调用waitpid()<br />void fun(int)<br />{<br /> waitpid();<br />}<br />3.利用 sigaction 结构体<br />struct sigaction act,oldset;//设置信号性质的结构体<br />sigemptyset(&act.sa_mask);//清空屏蔽位<br原创 2011-03-24 17:39:00 · 678 阅读 · 0 评论 -
inux中socketaddr_in的结构解析
<br />struct sockaddr,该类型是用来保存socket信息的: <br />struct sockaddr <br />{ <br />unsigned short sa_family; /* 地址族, AF_xxx */ <br />char sa_data[14]; /* 14 字节的协议地址 */ <br />}; <br />sa_family一般为AF_INET;<br />sa_data则包含该socket的IP地址和端口号。<br />另外还有一种结构类型: <br />st转载 2011-04-19 10:32:00 · 2084 阅读 · 0 评论 -
LINUX下ARM的汇编语法
第一部分 Linux下ARM汇编语法尽管在Linux下使用C或C++编写程序很方便,但汇编源程序用于系统最基本的初始化,如初始化堆栈指针、设置页表、操作ARM的协处理器等。初始化完成后就可以跳转到C代码执行。需要注意的是,GNU的汇编器遵循AT&T的汇编语法,可以从GNU的站点(www.gnu.org)上下载有关规范。一. Linux汇编行结构任何汇编行都是如下结构:[:] [} @ co转载 2011-06-30 00:53:00 · 799 阅读 · 0 评论 -
套接口基本操作
阻塞TCP套接口读操作:从内核发送缓冲区中读到数据就返回,有可能是单个字节。如果什么数据也没有,则阻塞在那里等待数据,除非对方关闭连接。阻塞TCP套接口写操作:写操作会将数据从应用缓冲区拷贝到内核缓冲区,如果内核缓冲区满了,则阻塞。写操作返回了并不代表对方已经收到数据了,仅仅是表示数据拷贝进了内核缓冲区,可能还没有发送。非阻塞TCP套接口读操作:没有数据可读,立刻返回。非阻塞TCP套接原创 2012-12-09 20:15:48 · 711 阅读 · 0 评论