cc 

-I  //include 目录

-L //静态库目录?动态也可以

-l //小写L,接静态库名称?动态也可以

-DXXX=‘“XXFF”’ //-D直接定义宏

-c 只编译

-O 优化

-g 生成调试信息

splint , gprof, cflow , dbx , gdb ,sdb //除了工具,还有日志记录调试更便捷

动态库:隐式调用 自动加载,与静态库一致 使用时,cc 后面加上路径,接口不变可以直接换so文件

显示调用 用dlopen

动态库创建:位置无关码(PIC)型.o

gcc -O -shared -shared -o xxx.so xxx.c 

LD_LIBRARY_PATH  //LINUX下设置这个环境目录,放动态库

#include <dlfcn.h> dlopen() / dlsym()

显示调用动态库流程 

gcc -O -o tds tds.c -ldl //-ldl 固定写法 显示调用动态库时用

二、文件系统

超级块结构 filsys.h ; i node  ino.h ;文件属性 stat.h ; 

termio.h struct termio ioctl()

三、并发程序设计

sysproc //标识号0 调度系统中运行的进程, init // 标识号为1 

geteuid() 进程有效用户ID,getegid() 进程有效组ID

fork-exec;vfork-exec模型

system() == vfork-exec

wait 实现父子进程之间同步:函数wait挂起调用它的进程,直到它的任一子进程退出

waitpid wait加强版 <sys/wait.h>

避免僵死进程 :fork两次让子进程退出,子子进程的父进程更改为进程init

四、进程通信

popen()  pclose 

mkfifo/mknod k1 p 有名管道用文件操作调用使用

消息对列是UNIX内核中一个先进先出链表结构

狭义讲IPC特指消息对列,信号量,共享内存

ipc /ipcrm   <sys/msg.h> struct msqid_qs 

int msgget(key_t key,int msgflg); //创建消息队列

msgsnd/msgrcv //消息发送和接收

msgctl

信号量:sem.h semid_ds sem

int semget(key_t key,int nsems,int semflg) 

semctl 信号量控制

semop() // P ,V ,Z(进程阻塞直到信号量为0)

共享内存:创建(shmget),映射(shmat),读写,释放(shmdt)  

shmctl

五、网络通信

 

最新文章

  1. js实现身份证号码验证
  2. AndroidStudio中创建Assets文件
  3. Android学习笔记(一)
  4. (light OJ 1005) Rooks dp
  5. ShortestPath:Wormholes(POJ 3259)
  6. Android学习笔记12:图像渲染(Shader)
  7. psycopg2关于undefined symbol: lo_truncate64解决方法
  8. LinqToSQL实例参见
  9. 把WinXP装进内存 性能飚升秒杀固态硬盘
  10. 灰度直方图及处理“cvQueryHistValue_1D”: 找不到标识符”的问题(上)
  11. 【Eclipse】修改java代码不强制重启
  12. 设计模式初探3——装饰者模式(Decorator Pattern)
  13. ubuntu14.04(64位置) ADB Not Responding
  14. SNS团队第一次站立会议(2017.04.22)
  15. Linux history命令
  16. 解决VS2019中.net core WPF 暂时无法使用 Designer 的临时方法
  17. linux启动httpd服务出现 Could not reliably determine the server`s fully qualified domain name.
  18. Oracle误删除数据和表的恢复办法包括truncate
  19. 2018-2019-2 20175236实验二《Java面向对象程序设计》实验报告
  20. CentOS 7 Install Adobe Flash Player

热门文章

  1. SPDY HTTP2.0
  2. css3 选择器的比较(一) -- 以字符串开头
  3. SQL学习之汇总数据之聚集函数
  4. Android开源资料大集合_架构&amp;UI
  5. FINDPEAKS - matlab函数
  6. SQL知识三(Day 27)
  7. Unity StrangeIoc框架 (二)
  8. Gulp browserify livereload
  9. Storm博客收集
  10. 射频识别技术漫谈(29)——射频接口芯片TRF7960