Linux程序设计(第4版)(图灵程序设计丛书·LinuxUNIX系列)(马修(NeilMatthew)[马修(NeilMatthew)])

书: https://pan.baidu.com/s/1hMg-9fMkkzntAfHoLymQMA?pwd=2tx9
笔记如下:

  1. Linux系统调用:通过open()read()write()close()等函数直接与内核交互。
  2. 文件I/O操作:使用fopen()fgets()fprintf()等标准C库函数进行文件读写。
  3. 进程管理fork()创建子进程,exec()系列函数替换进程映像,wait()等待子进程结束。
  4. 进程间通信(IPC):管道(pipe())、信号(signal())、共享内存(shmget())、消息队列(msgget())。
  5. 信号处理:使用signal()sigaction()捕获和处理信号(如SIGINTSIGTERM)。
  6. 线程编程:POSIX线程(pthread_create()pthread_join())实现多线程并发。
  7. 线程同步:互斥锁(pthread_mutex_t)、条件变量(pthread_cond_t)避免竞态条件。
  8. 套接字编程socket()bind()listen()accept()connect()实现网络通信。
  9. 守护进程:通过fork()setsid()、关闭文件描述符等步骤创建后台守护进程。
  10. 文件系统操作stat()获取文件属性,chmod()修改权限,mkdir()创建目录。
  11. 动态链接库dlopen()dlsym()加载和调用共享库函数。
  12. 内存管理malloc()free()动态分配内存,mmap()内存映射文件。
  13. 错误处理:检查errno变量及使用perror()strerror()输出错误信息。
  14. 终端控制termios结构体及tcsetattr()配置终端行为(如禁用回显)。
  15. 时间函数time()获取系统时间,localtime()转换时间格式,sleep()延迟执行。
  16. 正则表达式regcomp()regexec()进行正则匹配。
  17. 数据库接口:通过SQLite或MySQL C API(如sqlite3_open())操作数据库。
  18. GTK+图形编程:使用GTK库(如gtk_init()gtk_window_new())开发GUI应用。
  19. 系统日志syslog()函数将日志写入系统日志文件(如/var/log/messages)。
  20. 安全编程:避免缓冲区溢出(如使用strncpy()替代strcpy()),最小权限原则。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注