文档介绍:gcc编译系统
gdb程序调试工具
程序维护工具make
第7部分 Linux下的c和c++编程
2017/9/7
1
Linux的shell命令支持范围广泛,这些命令可以通过组合脚本的形式在可重用的程序中使用。利用shell编写的脚本是许多Linux用户定制其计算环境所需的所有程序。
但脚本语言毕竟只是一种解释性的语言,用户输入的脚本命令只有当执行脚本后才被识别和执行。解释性语言在每次执行脚本时必须重新解释,效率较低,也不适合直接操作计算机的RAM和I/O设备。
shell命令及其Linux系统内核都是用c和c++编写。如果用户要在Linux系统编程,建议使用c和c++语言。因此,,程序调试工具gdb以及程序维护工具make。
2017/9/7
2
gcc编译系统
gcc编译器简介
c语言编译过程
文件名后缀
gcc编译器的工作过程及命令行选项
2017/9/7
3
gcc 是 GNU 推出的功能强大、性能优越的多平台编译器,是GNU 的代表作品之一。,它是GNU项目中符合ANSI C标准的编译系统。其执行效率比一般编译器高出20%~30%。
gcc编译器简介
由c语言源代码文件生成可执行文件的过程要经历四个相互关联的步骤:预处理(Preprocessing)、pilation)、汇编(Assembly)、链接(Linking)。
2017/9/7
4
c语言编译过程
1、预处理(Preprocessing)
对源程序中的伪指令(即以#开头的指令)和特殊符号进行处理的过程。其中伪指令包括:宏定义指令、条件编译指令、文件包含指令。
2、pilation)
编译就是将源程序转换为计算机可以执行的二进制代码。
进行编译时,缺省情况下不输出这个汇编代码的文件。如果需要可以在编译时指定-S选项。这样就会输出同名的汇编语言文件。
2017/9/7
5
3、汇编(Assembly)
汇编的过程实际上是将汇编语言代码翻译成机器语言的过程。。
4、链接(Linking)
链接操作最重要的步骤就是将函数库中相应的代码组合到目标文件中。
2017/9/7
6
文件名后缀
gcc可以针对支持不同的源程序文件进行不同的处理,文件格式以文件的后缀来识别。
2017/9/7
7
gcc编译器的工作过程及命令行选项
gcc的使用格式:
gcc [options][filenames]
说明:
当不用任何选项时,。
2017/9/7
8
例:在linux上编译一个c程序。
#include <>
int main()
{
printf("hello world.\n");
return 0;
}
这个程序一步到位的编译指令是:
gcc -o test -o test
2017/9/7
9
1 预处理
gcc -E -o 或 gcc -E
  。后面那条指令,是直接在命令行窗口中输出预处理后的代码。
gcc的-E选项,可以让编译器在预处理后停止,并输出预处理结果。在本例中, 。
2017/9/7
10