
Unix环境编程
文章平均质量分 67
二零一四Tenc
这个作者很懒,什么都没留下…
展开
-
Linux下c程序地址空间布局
我们在学习C程序开发时经常会遇到一些概念:代码段、数据段、BSS段(Block Started by Symbol) 、堆(heap)和栈(stack)。先看一张教材上的示意图(来源,《UNIX环境高级编程》一书),显示了进程地址空间中典型的存储区域分配情况。 从图中可以看出:从低地址到高地址分别为:代码段、(初始化)数据段、(未初始化)数据段(BSS)转载 2013-06-09 14:31:43 · 756 阅读 · 0 评论 -
fork()和vfork()函数
fork是一个很重要的函数,能否彻底理解父子进程的关系,取决于你对fork的理解的程度。#includepid_t fork(void)从书上我总结了三点:fork调用一次返回两次,子进程返回0,父进程返回子进程ID父子进程共享正文段,拥有父进程数据段,堆和栈的副本对于第二点的父进程的数据段,堆,栈,fork采用一种写时复制技术,需要的时候才复制一原创 2013-06-10 13:39:58 · 744 阅读 · 0 评论 -
线程初识+六个函数
今天得知了参加的最后一场暑期实习生的招聘结果,我又被刷了,沮丧了几天之后,有人告诉我那家公司不招c/c++方向的,还有半个月就放暑假了,是继续看书学习,还是去实践,很迷茫,真的感觉时间不够用。这篇用来记录线程,几个星期之前,我看过这篇,当时理解记忆了,可是今天回过头来再看,感觉还是记不清楚,可能是没有系统的总结吧。这篇就总结一下:#include int pthread_equal(原创 2013-06-13 16:25:58 · 895 阅读 · 0 评论 -
Unix 环境变量
Linux下处理环境变量常见的几个操作:env:显示当前所有的环境变量set:显示当前bash下用户自定义的变量和环境变量export:把自定义的变量转换成环境变量环境表:Unix下的每一个程序都会有一张环境表,其实我们可以想象,main函数使如下这种形式:int main(int argc , char*argv[], char *envp[])原创 2013-06-09 14:21:47 · 1009 阅读 · 0 评论 -
Unix I/O操作
首先我们来理解一个概念:不带缓冲的I/O,我们说Unix下面的read和write是不带缓冲的是指:(1)每个read和write都调用内核中的一个系统调用(进程不提供缓冲)(2)系统内核为磁盘的读写提供了缓冲块,当我们write时,直接调用系统调用,但是数据写到了缓冲块,缓冲块满了才会写入文件(内核提供了缓冲)那么带缓冲的I/O简单的来说,就是指提供了一个缓冲区,内核也提供了原创 2013-06-08 15:13:03 · 824 阅读 · 0 评论