unix环境高级编程
文章平均质量分 77
jack_ooneil
做人如果没有梦想和咸鱼有什么分别?
展开
-
C中printf 和write的区别
调试程序过程中遇到一个问题:遇到printf的语句时有时候能马上打印出字符串,有时候要程序退出时才一次性打印出字符串,但是write每次都能直接打印出字符串。原来是因为printf是行缓冲函数,只有满了一行才马上打印, write在用户态没有缓冲,所以直接输出。eg:#include #include #include int main(void){ in原创 2015-09-10 16:07:40 · 4311 阅读 · 0 评论 -
GDB调试带有信号的程序
信号(Signals)信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。UNIX定义了许 多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号; SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术转载 2015-10-22 17:13:05 · 1966 阅读 · 0 评论 -
apue第三版 在信号处理程序中调用不可再入函数 的例子遇到的问题
记录一下在10.6 可重入函数 这一节,输入书上的例子时遇到的一些错误我是使用的linux 2.6的系统运行的代码,发生了几个错误困扰了我好久。代码如下:#include #include static void my_alarm(int signo){ struct passwd *rootptr; printf("in signa原创 2015-10-22 19:59:40 · 713 阅读 · 0 评论 -
[Linux] ls和size命令以及程序内存映像、磁盘映像的理解
转自:http://blog.chinaunix.net/uid-9012903-id-2011435.html下午试验一个小程序来着,用到size 命令,后来发现只是一个空程序体的话,size 命令仍然显示编译出的a.out 的bss 段大小有四个字节,于是去google 了下size 命令的相关用法之类,没想到找出来一篇关于程序内存映像和磁盘映像等的不错的说明。又给自己扫盲了。一共有两个帖转载 2015-09-21 16:42:15 · 435 阅读 · 0 评论