关于文件写入的原子性讨论
文件的写入是否是原子的?多个线程写入同一个文件是否会写错乱?多个进程写入同一个文件是否会写错乱?想必这些问题多多少少会对我们产生一定的困扰,即使知道结果,很多时候也很难将这其中的原理清晰的表达给提问者,侯捷曾说过,**源码面前,了无秘密**,那么本文也希望从源代码的角度分析上述问题。在开始之前我们需要补充一下Linux 文件相关的一些基础原理,便于更好的看懂Linux源
C++模板参数替换的理解
还是邓俊辉老师数据结构中List那一章的例子。List的遍历问题。
main.cpp里调用PRINT ( La ); // La是一个自定义的List对象
PRINT这个宏的定义就在main.cpp里#define PRINT(x) { print(x); crc(x); checkOrder(x); }
print的声明在UniPrint/print.