摘要: C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)或者函数只能在一个源程序中定义一次,如果有重复定义的话编译器就会报错。伴随着不同源文件变量和函数之间的相互引用以及相互独立的关系,产生了extern和static关键字。 下面,详细分析一下static关键字在编写程序时有的三大类用法: 一,static全局变量 我们知道,一个进程在内存中的布局如图1所示: 其中.text段保存进程所执行的程序二进制文件,.data段保存进程所有的已初始化的全局变量,.bss段保存进程未初始化的全局变量(其他段中还有很多乱七八糟的段,暂且不表)。在进程的整个生命周.. 阅读全文
posted @ 2012-09-22 22:47 beanmoon 阅读(202) 评论(0) 推荐(0) 编辑
摘要: (1)exec函数说明fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新程序的内容替换了。另外,这里的可执行文件既可以是二进制文件,也可以是Linux下任何可执行脚本文件。(2)在Linux中使用exec函数族主要有以下两种情况当进程认为自己不能再为系统和用户做出任何贡献时,就可以调用任何exec 函数族让自己重生。如果一个进程想执行另一 阅读全文
posted @ 2012-09-22 13:35 beanmoon 阅读(1212) 评论(0) 推荐(1) 编辑
摘要: 进入Dired模式1. 在终端中:输入emacs 和给定目录名 >>>emacs dirname >>>emacs dirname &;;#表示在后台运行,此时你还可以使用该终端做其他事情2. 在Emacs中:C-x C-f dirname;;打开一个目录C-x d;;也就是绑定到下面这个函数M-x dired说明:进入dired后的命令大多是一个字符,比如键入s表示对类别按照时间排序,键入m表示对该文件进行标记,所以下面如果类别一个字符那说明只按那个键就可以了;如果后面有";;"则表示是对该命令的解释(;;是elisp注释语句) 阅读全文
posted @ 2012-09-22 08:25 beanmoon 阅读(1577) 评论(0) 推荐(0) 编辑