QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 855|回复: 3

请问GCC如何编译C源程序

[复制链接]
发表于 2004-9-9 12:02:49 | 显示全部楼层 |阅读模式
我想应该是这样的:首先预处理,展开源程序中的宏和#include包含的内容。然后再生成目标代码。最后用连接器生成一个二进制文件。不知对吗?生成的目标代码是汇编吗?连接器主要做什么工作?
发表于 2004-9-9 13:13:16 | 显示全部楼层
是吧 转载:通常情况下,编译器把每个单元文件单独编译,然后连接器负责把编译后的单元文件连接为可执行文件(exe文件)。之所以要这样做,是因为不同的操作系统,其可执行文件的格式是不一样的,比如DOS、Windows、Linux这些操作系统。但只要CPU是兼容的型号,则可以使用同样的编译文件格式,因为转译过程是一样的。比如C的编译文件OBJ文件,即使是在DOS下编译的,仍然可以被连接为Windows的EXE,编译器只对CPU感兴趣,而对要输出的执行文件的格式不感兴趣。
回复

使用道具 举报

发表于 2004-9-9 13:16:50 | 显示全部楼层
gcc example.c -o example
得到example可执行文件
回复

使用道具 举报

 楼主| 发表于 2004-9-9 14:04:10 | 显示全部楼层
哦。收到。谢谢大家。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 13:42 , Processed in 0.042404 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表