2014年10月
MAKE_TROUBLE
I STILL
展开
-
头文件中的ifndef、define、endif
#ifndef、#def、#endif说明 你所遇到的这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为: #ifd转载 2014-10-07 21:22:36 · 1183 阅读 · 0 评论 -
linux系统编程-学习笔记5-opendir/readdir/getcwd
操作普通文件:标准I/O操作:fopen ===> rewind===>fread/fwrite ===>fclose文件I/O :open ==> lseek(fd) ==>read/write =>closelinux下一切皆文件如何操作目录文件:(c库函数)DIR *opendir(const char *name);原创 2014-10-06 10:45:37 · 676 阅读 · 0 评论 -
linux 系统编程-学习笔记6-main函数/atexit函数/动态库、静态库/
_________________________________________________________________________________________________________main函数【进程】结束,会做那些事情?exit/returnexit(0)/return 0 ; 正常返回exit(-1)/return -1;异常返回=====原创 2014-10-10 20:11:50 · 783 阅读 · 0 评论 -
linux 系统编程-学习笔记7-进程/fork/vfork/exec函数族
u-boot ==>Image ==>根文件系统==>init进程(1)==>exec执行进程==>启动代码==>main{==>传入环境变量exit/return ==>1)刷新缓冲区,2)关闭所有打开的文件描述符,3)调用清理函数 ==>系统_exit/_Exit ==>系统}===========================================原创 2014-10-10 20:23:08 · 845 阅读 · 0 评论 -
linux 系统编程-学习笔记8--信号/线程
当系统接收到一个信号的时候,怎么去处理? 1.系统默认 2.忽略 3.捕捉信号 typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler); : 通过handler标志去处理接受到的signum信号 signum:信号编号 1原创 2014-10-13 21:02:29 · 717 阅读 · 0 评论 -
linux 系统编程-学习笔记10--进程间通信--管道/FIFO/消息队列/
linux:进程间资源共享: ===>进程间通信:1.管道1)无名管道:同一台主机:在具有亲缘关系的进程间通信(半双工通信:一端要么读要么写,不能同时读写)亲缘关系:1.父、子进程 2.具有同一个父进程的两个子进程调用pipe在内核中建立一个无名管道,会有固定的读端和写端int pipe(int pipefd[2]);int pip[2];p原创 2014-10-21 20:12:59 · 816 阅读 · 0 评论 -
linux 系统编程-学习笔记9--线程的同步互斥锁、读写锁/select/poll
线程的同步:解决方式:1.互斥锁 2.读写锁进程的同步:记录锁多个进程对同一个文件操作int fcntl(int fd, int cmd, ... /* arg */ );通过文件描述符根据cmd选项对文件进行操作cmd:F_DUPFD : 复制一个现有的文件描述符F_SETLKW : 设置记录锁struct flock {...shor原创 2014-10-21 20:11:50 · 879 阅读 · 0 评论