![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
*nix/network Programming
iteye_6463
这个作者很懒,什么都没留下…
展开
-
APUE,网络编程杂记1
C程序的内存分配图(APUE)一个进程地址空间中包含的内容(也称为Core Image):1.文本段(Text Segment,只读,程序的代码),为了节省空间,同一个程序的多个进程共享该段;2.数据段(Data Segment),即全局变量段,细分为初始化的和未初始化的数据,APUE上没有提到静态变量,静态变量应该也是存放在这里3.栈,所有的函数的局部变量,形参,函数调用的返回地...2010-08-24 16:32:43 · 86 阅读 · 0 评论 -
原子操作(Atomic Operation)
Unix系统编程中的原子操作类似于数据库中事务的概念,一个操作可以由许多个步骤组成,这些步骤要么全部完成,要么不执行。在Unix中,所有的(内核级别的???)系统调用都是原子操作,非原子的操作在多进程/多线程环境中一个典型的问题如多个进程同时向一个打开的文件写数据,早期的Unix系统open函数不支持O_APPEND,一个进程想向文件中添加数据时,典型的写法是if(lseek(fd, 0L...原创 2010-09-03 20:24:02 · 188 阅读 · 0 评论 -
pthread_join和pthread_detach的区别
创建一个线程默认的状态是joinable, 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process,即还有一部分资源没有被回收(退出状态码),所以创建线程者应该调用pthread_join来等待线程运行结束,并可得到线程的退出代码,回收其资源(类似于wait,waitpid)但是调用pthread_join(pthread_id)后,如果该线程没有运行结束,...2010-10-01 17:08:36 · 214 阅读 · 0 评论 -
Beginning Linux Programming读书笔记(Chapter1)
Linux程序有两种形式,一种是executable file,一种是scripts,分别对应windows下的exe程序和.bat,.com脚本,Linux不需要文件后缀名,是由File System Attribute来确定一个文件是否是可执行的。一般的程序在以下两个文件夹中:/bin: 系统程序/usr/bin: 用户的程序,包括常用的开发程序,如Gcc,Gdb,Python等等...2010-06-25 20:12:32 · 85 阅读 · 0 评论