代码改变世界

unix cc编译过程

2016-01-16 20:33 by No Sadness, 487 阅读, 0 推荐, 收藏, 编辑
摘要:1.编译并链接一个完全包含与一个源文件的C程序:cc program.c这条命令产生一个称为a.out的可执行程序。中间会产生一个名为program.o的目标文件,但它在链接过程完成后会被删除。2.编译并链接几个c源文件:cc main.c sort.c lookup.c当编译的源文件超过一个时,目... 阅读全文

在Unix系统上,从源文件、目标文件、可执行文件的编译过程

2016-01-16 20:14 by No Sadness, 2694 阅读, 0 推荐, 收藏, 编辑
摘要:是由“编译器驱动”(compiler driver)完成的:unix> gcc -o hello hello.c在这里,gcc的编译器驱动程序读取源文件hello.c,[cpp]view plaincopy#includeintmain(){printf("hello,world/n");retur... 阅读全文

对数组名取地址 a[ ],&a

2015-03-26 20:20 by No Sadness, 9472 阅读, 1 推荐, 收藏, 编辑
摘要:C语言规定,数组名代表数组的首地址,也就是第0号元素的地址。所以a==&a[0]但对数组名取地址时却要注意了,在理解“对数组名取地址”这一表达式的含义时一定要记住:数组名是“数组”这种变量的变量名这样,&a就好理解了,它取的是“数组”这种变量的地址&a+1自然也就要跨过整个数组,所有元素长度总和,这... 阅读全文

Linux 权限设置和 SUID, SGID 以及粘滞位sticky bit

2015-03-22 22:33 by No Sadness, 372 阅读, 0 推荐, 收藏, 编辑
摘要:suid是指在执行suid程序的过程中,去访问其他文件时拥有suid程序属主的权限,而不是指对suid程序本身拥有suid程序属主的权限!一. Linux 文件权限的表示方法 文件权限用 12 个二进制位表示,如果该位的值是 1,表示有相应的权限: 11 10 9 8 7 6 5 4 3 2 1 0... 阅读全文

Linux Shell脚本教程:30分钟玩转Shell脚本编程

2015-03-07 11:09 by No Sadness, 300 阅读, 0 推荐, 收藏, 编辑
摘要:http://c.biancheng.net/cpp/shell/Linux在线体验:http://compileonline.com/Linux命令查询:http://man.linuxde.net/计算机操作系统:http://c.biancheng.net/cpp/u/xitong/ 阅读全文

System V 进程间通讯、IPC、ftok、消息队列

2015-02-03 23:50 by No Sadness, 10 阅读, 0 推荐, 收藏, 编辑
只有注册用户登录后才能阅读该文。 阅读全文

C语言文件操作 FILE结构体

2015-02-02 23:29 by No Sadness, 1482 阅读, 0 推荐, 收藏, 编辑
摘要:内存中的数据都是暂时的,当程序结束时,它们都将丢失。为了永久性的保存大量的数据,C语言提供了对文件的操作。1、文件和流C将每个文件简单地作为顺序字节流(如下图)。每个文件用文件结束符结束,或者在特定字节数的地方结束,这个特定的字节数可以存储在系统维护的管理数据结构中。当打开文件时,就建立了和文件的关... 阅读全文

头文件的开头为什么都有#ifndef、#define、#endif

2015-02-01 00:25 by No Sadness, 4 阅读, 0 推荐, 收藏, 编辑
只有注册用户登录后才能阅读该文。 阅读全文

fork()函数,一次调用,两次返回

2014-10-25 23:54 by No Sadness, 2964 阅读, 0 推荐, 收藏, 编辑
摘要:参考自:http://blog.csdn.net/dog_in_yellow/archive/2008/01/13/2041079.aspx 以前一直迷惑,什么叫一次调用,两次返回。通过上网搜索,终于知其原由。现将自己的理解记录于此。准备知识: 内存中的进程包括三个部分:可执行文件(即程序),相关数... 阅读全文

int main(int argc,char *argv[])的具体含义

2014-10-25 17:59 by No Sadness, 674 阅读, 0 推荐, 收藏, 编辑
摘要:int main(int argc,char * argv[])argv为指针的指针argc为整数char **argv or: char *argv[] or: char argv[][]main()括号内是固定的写法。下面给出一个例子来理解这两个参数的用法:假设程序的名称为prog,当只输入pr... 阅读全文