APUE学习笔记
文章平均质量分 80
kitestar
这个作者很懒,什么都没留下…
展开
-
(一) Unix/Linux 编程基础
Gcc编译器Gcc编译时分为四个阶段:预处理 编译 汇编 链接.c .cc .a .i .ii .o (编译后文件) .s (汇编后文件)编译选项-E 只做预处理,不做其他的-c 只编译,不链接成可执行文件 生成.o的目标文件-S 汇编,生成 .s文件。-g 产生调试工具所必要的符号信息,想要程序能进行调试必须加入这个选项原创 2014-05-17 10:54:59 · 371 阅读 · 0 评论 -
(二) Unix/Linux 文件编程
文件和目录stat()/fstat()/lstat() 成功返回0,出错返回-1.获取与文件目录有关的信息结构,fstat参数为已打开的文件描述符,而lstat可以处理符号链接,当文件是一个符号链接时,返回的是符号链接的信息而不是引用文件的信息(否则在处理目录时可能引起死循环)。信息结构struct stat 的大部分信息都取自i节点,文件名和i节点存放于目录项。具体信息一般有文件原创 2014-05-17 11:01:40 · 274 阅读 · 0 评论 -
(三) Unix/Linux 进程控制
进程控制理论基础进程特点:动态性,并发性,独立性,异步性进程三态:就绪,执行,阻塞进程ID:PID 父进程ID:PPID 启动进程的用户ID:UID进程互斥是指若干进程都要使用某一共享资源时,任何时刻最多允许一个进程使用,其他进程必须等待,知道占用该资源的进程释放资源。临界资源——一次只允许一个进程访问的资源称为临界资源。临界区——进程中访问临界原创 2014-05-17 11:06:03 · 336 阅读 · 0 评论 -
(五)信号 1
信号:(signal)中断分为软件中断和硬件中断,软件中断就是用软件的方式中断代码。信号是Unix/Linux系统下最常见的一种软件中断方式,提供了一种处理异步事件的方法。信号都有一个宏名称,以SIG开头。本质就是一个非负整数,查看信号的命令:kill -l编程时,信号用宏名称,因为有些系统信号数字不同,但宏名称是一样的。 信号导致代码中断的条件很多,比如:中断(Ctr原创 2014-05-17 11:11:31 · 381 阅读 · 0 评论 -
(六) 进程间通信
进程间通信(IPC)进程间通信的原因:数据传输、资源共享、通知事件、进程控制进程间通信方式:1. 管道(pipe)和命名管道(FIFO)(最古老的IPC,但目前很少使用)2. 信号(signal)3. 消息队列(重点)4. 共享内存5. 信号量 6. 套接字(socket)原创 2014-05-17 11:12:38 · 372 阅读 · 0 评论 -
(七) POSIX 线程 ——线程池实例
#include #include #include #include #include #include //线程任务等待链表结构typedef struct worker{void *(*process)(void *arg);void *arg;struct worker *next;}CThread_worker;//线程池结构typedef struct threadpool{pthre原创 2014-08-12 16:27:24 · 538 阅读 · 0 评论