C语言
瑾明达2号
Happy cooperation
展开
-
linux下remove函数, 文件删除 文件夹删除
remove(删除文件)、相关函数 link,rename,unlink头文件 #include<stdio.h>int remove(const char * pathname);函数说明:remove()会删除参数pathname指定的文件。如果参数pathname为一文件,则调用unlink()处理,若参数pathname为一目录,则调用rmdir()来处理。请参考unlink()与rmdir()。返回值成功则返回0,失败则返回-1,错误原因存于errno。错误代码 ERO原创 2020-08-25 14:49:01 · 2319 阅读 · 0 评论 -
char data[0]用法总结
参考自:https://blog.csdn.net/maopig/article/details/7243646struct MyData{ int nLen; char data[0];}; 在结构中,data是一个数组名;但该数组没有元素;该数组的真实地址紧随结构体MyData之后,而这个地址就是结构体后面数据的地址(如果给这个结构体分配的内容大于这个结构体...转载 2020-05-07 16:03:17 · 338 阅读 · 0 评论 -
Linux 进程间通信 信号量
Linxu下的信号量 信号量用于协调进程间的运行步调,即进程同步。经典的生产者消费者问题,就是典型的应用场景之一。另外,封装的二元信号量可以以哦那uong用于保护进程间共享的临界资源,类似于在多线程程序中用互斥量保护全局临界区。实际上,信号量在线程互斥量之前就已经出现了,因为早在多线程出现之前,进程间就已经存在同步运行步调的需求了。信号量通常配合共享内存使用。 信号量的工作逻辑相对比较简...转载 2020-04-29 17:59:28 · 300 阅读 · 1 评论 -
Linux消息队列编程
Linux消息队列编程 消息队列,Unix的通信机制之一,可以理解为是一个存放消息(数据)容器。将消息写入消息队列,然后再从消息队列中取消息,一般来说是先进先出的顺序。可以解决两个进程的读写速度不同(处理数据速度不同),系统耦合等问题,而且消息队列里的消息哪怕进程崩溃了也不会消失。最简单的消息内存的使用流程①ftok函数生成键值②msgget函数创建消息队列③msgsnd函数往消息队列...转载 2020-04-29 17:15:19 · 136 阅读 · 0 评论 -
linux下进程通信------FIFO
1. 命名管道(FIFO) 管道应用的一个重大缺陷就是没有名字,因此只能用于亲缘进程之间的通信。后来从管道的基础上提出命名管道(named pipe, FIFO)的概念,该限制得到了克服。FIFO 不同于管道之处在于它提供一个路径名与之关联,以FIFO的文件的形式存在于文件系统中。这样即使与FIFO的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能彼此通过FIFO通信(能够访问该路径的进...转载 2020-04-29 11:10:03 · 151 阅读 · 0 评论