Linux应用层开发学习记录---(1)基础知识

1.GCC

1.预处理(.c➡.i)对各种预处理命令进行处理,包括头文件包含、宏定义的扩展、条件编译的选择等。
2.编译(.i➡.s)生成汇编文件。
3.汇编(.s➡.o)汇编翻译为机器码。
4.链接(.o➡.out)链接各种库(静态连接和动态链接),得到可执行文件。

2.应用程序的地址

从低地址(虚拟地址0x48000)到高地址分别为代码段、数据段、堆、栈。
1.代码段:代码、全局常量和字符串常量。
2.数据段:全局变量和静态变量。
3.堆:动态分配的变量。
4.栈:局部变量(不包括加了static的局部变量)。

3.文件操作

分为两种:基于Linux的系统调用函数和基于C库的函数。
1.系统调用函数:open、creat、close、write、read、lseek等等
2.C库函数:fopen、fclose、fread、fwrite、fseek等等

你可能感兴趣的:(Linux应用层开发学习记录---(1)基础知识)