/My-APUE

:= 我的UNIX环境高级编程APUE代码-学习笔记小仓库😀

Primary LanguageC

MY-APUE

一.前言

1.阅读心得

断断续续每天抽出下午的时间差不多用了3个月看完了这本书,期间也顺带学习了makefile、gcc、valgrind等工具(学习编程是很有必要接触Linux的,可惜我接触的比较晚,之前的学习总是局限在Windows的Visual Studio上!),可以说这本书让我成长了不少,不愧是经典之作。

回到书中的内容,我认为看1-17章的内容即可,我自己把全书的内容按照自己的想法分成如下6个部分:

  • UNIX基础与标准
  • 文件目录与I/O
  • 进程
  • 线程
  • 守护进程和高级I/O
  • 进程间通信

全书脉络清晰,提纲挈领,又有很多不错的实例,我相信每一个看完这本书的人都会受益匪浅。不过在一些内容上我觉得作为后起之秀的《Linux/UNIX系统编程手册》有很多不错的地方或者说更好,至少我看的进程间通信、epoll这些部分是这么觉得的。两本书一起结合参考着看我觉得是一种不错的选择。

自己写的代码不咋地,有很多不足之处,欢迎交流😂

2.实验平台
       OS: Manjaro Linux x86_64
       Host: HP ENVY Notebook
       Kernel: 5.8.11-1-MANJARO
       Uptime: 6 hours, 27 mins
       Packages: 1204 (pacman)
       Shell: zsh 5.8
       Resolution: 1920x1080
       Terminal: /dev/pts/0
       CPU: Intel i5-6200U (4) @ 2.800GHz
       GPU: Intel Skylake GT2 [HD Graphics 520]
       GPU: NVIDIA GeForce GTX 950M
       Memory: 471MiB / 15911MiB
3.使用指南

由于前面的章节自己仍然使用了书中给出的头文件和链接库,所以需要对原书中的提供的链接库进行编译。但是到了后面章节我自己重新写了自己的头文件MyAPUE.h并同时重新实现其中的内容,为此若要使用后面章节的程序,还需要编译我自己写的链接库。这些程序至少在我的Manjaro系统上都是🆗的!

编译原书中的链接库、头文件并放入到目录中:

$> cd apue.3e
$> make
$> mv libapue.a /usr/lib
$> cd ../include
$> mv apue.h /usr/include

将我的自己的链接库进行编译

$> #假设当前目录为仓库根目录
$> cd lib
$> make

后面每一章节的内容使用make命令就可以一步到位编译完毕

二.思维导图

  1. UNIX基础与标准

  2. 文件目录与I/O

  3. 进程

  4. 线程

  5. 守护进程与高级I/O

  6. 进程间通信

三.章节内容

  1. UNIX基础知识

  2. UNIX标准与实现

  3. 文件I/O

  4. 文件与目录

  5. 标准I/O库

  6. 系统数据文件与时间

  7. 进程环境

  8. 进程控制

  9. 进程关系

  10. 信号

  11. 线程

  12. 线程控制

  13. 守护进程

  14. 高级I/O

  15. 进程间通信

  16. 网络IPC:套接字

  17. 高级进程间通信

四.参考资料

  1. UNIX高级环境编程
  2. Linux/UNIX系统环境编程
  3. 跟我一起写Makefile