linux
CC_AmyH
这个作者很懒,什么都没留下…
展开
-
多进程写文件的共享问题:
多进程写文件的共享问题:多个进程对同一文件进行“定位-写-更新文件属性”时,i 节点的文件长度会变更,导致两个进程在写数据时,引发了数据覆盖等操作。解决方法就是使用原子操作。原子操作: * open或者create时,使用O_APPEND 标志,写之前必须将偏移量移动至尾处,这样可以保证数据不会被覆盖。记录日志时会比较常用 * 使用原子读写:pread 和 pwrite * 为转载 2012-08-14 16:43:36 · 1259 阅读 · 0 评论 -
calling fdopen:错误的文件描述符
删除 当前目录下的所有*.gch文件rm *.gch 然后再次编译 就可以了gcc会预编译头文件成gch文件以节省编译时间,如果改变了头文件源码而不重新编译的话,gcc还会使用老的gch文件。但是当加选项-E只做预编译的时,gcc会使用最新的头文件源码。这样就产生了编译生成的结果与预编译生成的结果不一样的现象。转载 2012-08-15 09:24:49 · 1314 阅读 · 0 评论 -
shell 入门
2.2 为什么要使用Shell脚本使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象缺点是:它们的效率通常不如编译型语言。之所以要使用Shell脚本是基于:简单性: Shell是一个高级语言;通过它,你可以简洁地表达复杂的操作。可移植性: 使用POSIX所转载 2012-09-07 09:39:16 · 2924 阅读 · 0 评论 -
Linux下gcc编译控制动态库导出函数小结
根据说明文档“How To Write Shared Libraries"介绍,有四种方法:1. 在方法声明定义时,加修饰:__attribute__((visibility("hidden")))2. gcc 在链接时设置 -fvisibility=hidden,则不加 visibility声明的都默认为hidden; gcc默认设置 -fvisibility=default,即全部转载 2012-09-08 20:30:29 · 1744 阅读 · 0 评论 -
意想不到的有趣linux命令
1. sl 命令sl是指“steam locomotive(蒸汽机车)”,你会看到一辆火车从屏幕右边开往左边。。。。。。安装 $ sudo apt-get install sl 运行 $ sl命令有 -alFe几个选项,-a An accident seems to happen. You'll feel pity for people who cry fo转载 2013-12-27 11:56:14 · 869 阅读 · 0 评论