前言
众所周知,Linux的IPC主要有多种方式,本文主要记录命名管道的使用。
使用
- 调用
mkfifo()
创建具名管道文件 - 读写两端分别调用
fopen()
打开 - 调用
fwrite()
写入;调用fread()
读取 - 调用
unlink()
销毁具名管道文件
阻塞
- 如果以只写打开,则会阻塞写入直到有读取;如果以只读打开,则会阻塞直到有写入;如果以读写打开,那么就不会阻塞。
- 写入直到缓冲区满则阻塞;读取直到缓冲区空则阻塞。
众所周知,Linux的IPC主要有多种方式,本文主要记录命名管道的使用。
mkfifo()
创建具名管道文件fopen()
打开fwrite()
写入;调用 fread()
读取unlink()
销毁具名管道文件rust
实现阅读版本v1给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。
返回删除后的链表的头节点。
上文提到,在导出的动态库中,并没有实现头文件所申明的那些 PLDBValue
结构相关的接口。
本文主要基于以下几个问题和目标展开:
PLDBValue
相关(创建、销毁)的接口;本文,将开始研究Polodb新增数据功能的实现。
打包成动态链接库提供给php的ffi调用,需要研究头文件:
给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。
我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。
给定一个序列a,需要对这个序列进行两种操作: