C语言Linux编程-进程间通信


无名管道无名管道(Anonymous Pipe),也称为管道(Pipe),是 Linux 和类 Unix 系统中进程间通信(IPC)的一种机制。它 允许具有亲缘关系的进程(即父子进程) 通过一个特殊的文件描述符对进行数据的传输。无名管道的主要特点如下:半双工通信:无名管道是半双工的,这意味着数据只能

C语言Linux编程-线程


在现代操作系统中,进程和线程是两个基本的并发执行单元,它们在资源分配、调度和管理方面有所不同。以下是关于进程切换开销、轻量级进程(LWP)、线程共享地址空间以及Linux对进程和线程的处理的一些解释:进程切换开销:当操作系统在多个进程之间进行上下文切换时,需要保存当前进程的状态(如寄存器值、程序计数

C语言Linux编程-进程


创建进程#include <stdio.h>#include <unistd.h>#include <sys/types.h>int main(){ pid_t pid; // 进程id类型 // 创建一个新进程 pid = fork();

C语言tcp服务器


server#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <strings.h>#include <string.h>#includ

exit()和_exit()的区别


exit()和_exit()的区别1._exit()执行后会立即返回给内核,而exit()要先执行一些清除操作,然后将控制权交给内核。2.调用_exit()函数时,其会关闭进程所有的文件描述符,清理内存,以及其他一些内核清理函数,但不会刷新流(stdin 、stdout、stderr……)。exit

文件IO-read函数


例子:从指定文本文件中读取内容并统计大小

文件IO-open函数


文件IO open 1 #include <sys/types.h> 2 #include <sys/stat.h> 3 #include <fcntl.h> 4 #include <stdio.h> 5 6 int main(int a

文件IO-打开文件


函数使用示例#include <stdio.h>//成功返回流指针,失败返回空指针int main(void){ FILE *file; char filename[] = "./files/demo.txt"; char m

文件IO-缓冲区实例


行缓冲在使用行缓冲的情况下,每当输入输出遇到换行或者缓冲区满了的情况下才会进行实际的IO操作,当涉及到终端输入输出的时候通常使用行缓冲。当字符数超过1024个时,进行IO操作使用换行符时候进行IO全缓冲在使用全缓冲的情况下,当数据填满整个缓冲区之后才进行实际的IO操作。对于驻留在磁盘上的文件的读写通

C/C++条件编译


条件编译编译器根据条件的真假决定是否编译相关代码常见条件编译的方法根据宏是否定义#ifdef <macro>...#else...#endif举个例子 1 #include <stdio.h> 2 #define _DEBUG_ 3 int main(int argc,