摘要:
有三种不同的文件锁,这三种都是“咨询性”的,也就是说它们依靠程序之间的合作,所以一个项目中的所有程序封锁政策的一致是非常重要的,当你的程序需要和第三方软件共享文件时应该格外地小心。有些程序利用诸如 FIlENAME.lock的文件锁文件,然后简单地测试此类文件是否存在。这种方法显然不太好,因为当产生文件的进程被杀后,锁文件依然存在,这样文件也许会被永久锁住。UUCP中把产生文件的进程号PID存入文件,但这样做仍然不保险,因为PID的利用是回收型的。这里是三个文件锁函数: flock(); lockf(); fcntl();flock()是从BSD中衍生出来的,但目前在大多数... 阅读全文
2011年3月14日 #
摘要:
单独使用gcc的时候,不用考虑C_INCLUDE_PATH/CPLUS_INCLUDE_PATH/LIBRARY_PATH/LD_INCLUDE_PATH这些变量,但使用make的时候,就要显示地提供这些变量(如果必要)静态库的创建与操作:ar [drqtpmx] [options] archive.a object.o-d: 从静态库中删除文件objfile-r: 替换或插入objfile-q: quick append,加入objfile without checking-t: type打印静态库中的成员文件列表-p: Print指定objfile-m: move移动archive中的成员 阅读全文
摘要:
在gcc下用到数学函数,如sqrt。在gcc时要加上 -lm 参数,这样告诉编译器我要用到数学函数了 。如:gcc a.c -o a -lm 阅读全文