某招聘要求:熟悉高性能分布式网络服务端设计开发,熟悉epoll、多线程、异步IO、事件驱动等服务端技术;
《UNIX环境高级编程(第3版)》apue.h等源码文件的编译安装 、《UNIX网络编程(第3版)》unp.h等源码文件的编译安装
CMake 教程
[IBM]在Linux下使用CMake构建应用程序
[CSDN]CMake学习笔记 、CMake使用方法详解 、Cmake使用总结
[博客园]CMake是个好东西 、Cmake命令查询、cmake 添加头文件目录,链接动态、静态库
《CMake实践》笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE
《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX
《CMake实践》笔记三:构建静态库与动态库 及 如何使用外部共享库和头文件
编译基础
C/C++的开发环境安装 、编译器 cc、gcc、g++、CC 的区别
[荐]C/C++开发工具gcc/gdb 、make 和 makefile 的关系
利用 autoconf 和 automake 生成 Makefile 文件
C/C++ 静态链接库(.a) 与 动态链接库(.so) 、Linux C 静态库(.a) 与 动态库(.so) 的详解
C语言 教程
《征服 C 指针》摘录1:什么是空指针?区分 NULL、0 和 ' '
《征服 C 指针》摘录2:C变量的 作用域 和 生命周期(存储期)
Linux C 基础
Linux C 字符函数 getchar()、putchar() 与 EOF 详解
Linux C 字符串输入函数 gets()、fgets()、scanf() 详解
Linux C 字符串输出函数 puts()、fputs()、printf() 详解
Linux C 字符串函数 sprintf()、snprintf() 详解
Linux C 字符串函数 strlen()、strcat()、strncat()、strcmp()、strncmp()、strcpy()、strncpy() 详解
Linux C 堆内存管理函数malloc()、calloc()、realloc()、free()详解
Linux C 文件操作,系统调用 -- open()、read() 和 标准I/O库 -- fopen()、fread()
线程同步
进程间通信
Linux 等待进程结束 wait() 和 waitpid()
Linux文件(区域)锁函数 -- open()、fcntl()
Linux进程间通信(一): 信号 signal()、sigaction()
Linux进程间通信(二):信号集函数 sigemptyset()、sigprocmask()、sigpending()、sigsuspend()
Linux进程间通信(三):匿名管道 popen()、pclose()、pipe()、close()、dup()、dup2()
Linux进程间通信(四):命名管道 mkfifo()、open()、read()、close()
Linux进程间通信(五):信号量 semget()、semop()、semctl()
Linux进程间通信(六):共享内存 shmget()、shmat()、shmdt()、shmctl()
Linux进程间通信(七):消息队列 msgget()、msgsend()、msgrcv()、msgctl()
Linux进程间通信(八):流套接字 socket()、bind()、listen()、accept()、connect()、read()、write()、close()
Linux进程间通信(九):数据报套接字 socket()、bind()、sendto()、recvfrom()、close()
Unix/Linux进程间通信(二):匿名管道、有名管道 pipe()、mkfifo()
网络编程
主机字节序(大端/小端) 和 网络字节序 、用C语言,如何判断主机是 大端还是小端(字节序)
PHP: 深入pack/unpack 、PHP: pack/unpack补遗 、PHP: chr和pack、unpack那些事