简介
概述
- Linux下一般使用C语言编写系统程序以及对性能要求较高的程序
- Linux通常使用gcc套件编译程序,运用gdb/ddd调式工具进行调试与排错
学习目标
- 理解Linux C程序的编译、执行过程,gcc命令选项,自定义函数库的制作
- 熟悉Linux C程序中编程错误的诊断与处理方法
- 熟悉使用Linux自带的字符串运算、排序算法、二叉树算法库编写应用程序
- 熟悉使用gdb/ddd调式Linux C程序
- 掌握利用命令行参数和环境变量给程序提供数据
- 能够使用make工具管理大型C/C++编程项目
3.1 Linux C程序的编译与执行
3.1.1 Linux环境下C程序的编译与执行过程
示例:
- 用vi或gedit创建hello,c程序
- 编译 gcc hello.c
- 执行
gcc用法
gcc [选项] 文件名称
gcc处理过程:
(1)预处理阶段
示例:
- 创建test.c
- 带命令选项-E的gcc命令调用预处理程序cpp,对源程序进行预处理
- 查看test.i
预编译阶段的工作:
- 调用预处理程序gcc(对.c进行预处理)
- 扫描源代码,检查其中的宏定义与预处理指令
- 执行行替换,展开包含文件,删除程序中的注释及多余空白字符
(2)编译阶段
示例:
- 带-S的gcc编译ccl
- 查看test.c