随笔 - 44, 文章 - 0, 评论 - 14, 阅读 - 63万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

随笔分类 -  *nix Programming

Linux/Unix Programming Related Articles
摘要:一)概述:1)从2.1版开始,Linux内核有了能力(capability)的概念,即它打破了UNIX/LINUX操作系统中超级用户/普通用户的概念,由普通用户也可以做只有超级用户可以完成的工作.2)capability可以作用在进程上(受限),也可以作用在程序文件上,它与sudo不同,sudo只针对用户/程序/文件的概述,即sudo可以配置某个用户可以执行某个命令,可以更改某个文件,而capability是让某个程序拥有某种能力,例如:capability让/tmp/testkill程序可以kill掉其它进程,但它不能mount设备节点到目录,也不能重启系统,因为我们只指定了它kill的能力 阅读全文

posted @ 2012-09-20 11:42 舒方小院 阅读(38393) 评论(0) 推荐(2) 编辑

摘要:在makefile中,有时会接触到一些以特殊字符打头的命令,比如@, -, +,如果之前没有接触过的话,会感觉比较奇怪,其实,多是一些为了实现特定行为模式而引入的标记符。命令行以'@'打头的含义: 在执行到的时候不回显相应的命令内容,只显示命令的输出。命令行以'-'打头的含义: 在执行到的时候如果发生错误(退出返回非零状态)时,不中断make过程。命令行以'+'打头的含义:makefile中以+开头的命令的执行不受到 make的-n,-t,-q三个参数的影响。我们知道,在make的时候,如果加上-n, -t, -q这样的参数,都是不执行相应命令的 阅读全文

posted @ 2012-04-20 16:24 舒方小院 阅读(9720) 评论(0) 推荐(0) 编辑

摘要:1, gcc中使用宏的例子:在程序中,通过有这样的代码段: #ifdef DEBUG printf("Debug is define!\n"); #endif printf("Hello World!\n"); 希望在编译时,传递DEBUG定义,实现Debug版本和Release版本的区别。 gcc -DDEBUG -o ttt a.c b.c gcc -o ttt a.c b.cgcc -UDEBUG -o ttt a.c b.c 是取消宏定义 2, GNU Make make是负责从项目的源代码中生成最终可执行文件和其他非... 阅读全文

posted @ 2012-04-07 18:31 舒方小院 阅读(1424) 评论(0) 推荐(0) 编辑

摘要:知道异步IO已经很久了,但是直到最近,才真正用它来解决一下实际问题(在一个CPU密集型的应用中,有一些需要处理的数据可能放在磁盘上。预先知道这些数据的位置,所以预先发起异步IO读请求。等到真正需要用到这些数据的时候,再等待异步IO完成。使用了异步IO,在发起IO请求到实际使用数据这段时间内,程序还可以继续做其他事情)。假此机会,也顺便研究了一下linux下的异步IO的实现。linux下主要有两套异步IO,一套是由glibc实现的(以下称之为glibc版本)、一套是由linux内核实现,并由libaio来封装调用接口(以下称之为linux版本)。glibc版本接口glibc版本主要包含如下接口: 阅读全文

posted @ 2011-11-27 15:45 舒方小院 阅读(837) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示