第6章 常用开发工具 6.1 概述 6.2 gcc编译系统 6.2.1 C语言编译过程 1.预处理阶段 预处理是常规编译之前预先进行的工作,故此得名。 负责读取C语言源文件,对其中以“#”开头的指令(伪指令)和特殊符号进行处理,如: 预处理程序对源程序进行“替换”之后,输出的文件就不包含宏定义、文件包含、条件编译等指令,与源文件功能相同,而形式不同。 gcc命令的使用 在Linux系统中,C/C++程序编译命令是gcc,例如: $ gcc [options] [filenames] 其中filenames为所要编译的程序源文件; 执行完成后,生成默认的可执行文件a.out; [options]部分可以有较多取值, 如:预处理选项、编译选项、优化选项、连接选项,使得gcc命令的功能很多。 2.编译阶段 对预处理之后的输出文件进行词法分析、语法分析,试图找出所有不符合语法规则的部分。 并根据问题给出错误消息,终止编译,或给出警告。 当确定程序符合语法规则后,将其“翻译”为功能等价的中间代码,或汇编代码。 3.汇编过程 汇编程序(Assembler)把汇编代码翻译成目标机器代码; 包括代码段和数据段等部分,前者包括程序指令,后者存放各种全局或局部变量。 4.连接阶段 连接程序(Linker)要解决外部符号访问地址问题,即: 将一个文件
您可能关注的文档
最近下载
- (完整版)《假分数与整数、带分数的互化》基础习题.doc VIP
- 英国签证仅结核筛查结核筛查登记表.pdf VIP
- 第九章压强--9.3大气压强(全国优质课赛课公开课一等奖)课件-物理人教版八年级下册.pptx VIP
- 15J401 钢梯国家标准图集.pdf VIP
- 数字孪生工厂在汽车制造中应用:西门子、达索系统仿真精度与决策支持价值研究_竞争分析报告.docx
- 杭州西奥电梯有限公司简介.pptx VIP
- 4 单相桥式半控整流电路—电阻性负载.pptx
- 入场岗前三级安全教育培训档案(记录卡、危险告知书、安全责任书、登记表).doc VIP
- 景观生态学(全套课件321P).pptx VIP
- 年产50吨赖氨酸发酵工厂设计.pdf VIP
原创力文档

文档评论(0)