了解C编译管道
社区首页 (3271)
![](https://csdnimg.cn/release/cmsfe/public/img/fileIcon.a6096f0b.png)
![](https://csdnimg.cn/release/cmsfe/public/img/fileIcon.a6096f0b.png)
![](https://csdnimg.cn/release/cmsfe/public/img/fileIcon.a6096f0b.png)
![](https://csdnimg.cn/release/cmsfe/public/img/fileIcon.a6096f0b.png)
请编写您的帖子内容
社区频道(5)
显示侧栏
卡片版式
参考资料
练习题
交流讨论
笔记
Ada助手
最新发布
最新回复
标题
阅读量
内容评分
精选
![](https://userblink.csdnimg.cn/20211024/huanhuilong/pic/4d238ff624e5c015c216328a2be9bb5c-0.jpg?x-oss-process=image/interlace,1/format,jpg/resize,w_375)
14063
4.6
145
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg3.9519d347.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
了解C编译管道
一个典型的C程序编译管道,包含预处理、编译、汇编、链接四个环节。 假设输入文件是helloworld.c,使用GCC编译程序,编译命令是gcc -Wall -save-temps helloworld.c -o helloworld,那么下面哪个不是
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221026062145.png)
26
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg5.9eaaa691.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
编程机制_讨论帖
helloworld.s——是源代码helloworld.i——输入文件helloworld.o——输出文件helloworld.exe——运行文件helloworld.txt——没有
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221109053731.png)
81
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg4.515d57f6.png)
![](https://profile-avatar.csdnimg.cn/488555d222cd4eb1932a193b611f8ef7_zzfenglin.jpg!1)
编程机制_讨论帖
现在的很多编程工具都帮我们隐藏了这些步骤,方便了开发的同时,让很多人都忽视了编译的过程,这个过程还是很重要的,尤其是排查编译问题的时候。
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221109053802.png)
75
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg2.05330abf.png)
![](https://profile-avatar.csdnimg.cn/af72339ea717437c847d9d884686ff22_2303_79012474.jpg!1)
编程机制_讨论帖
.c文件----->预处理产生.i文件----->编译产生.s文件----->汇编产生.o文件----->链接产生. exe文件
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221027055836.png)
25
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg4.515d57f6.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
编程机制_讨论帖
preprocessing:预处理用于将所有的#include头文件以及宏定义替换成其真正的内容Compilation:经过预处理之后的程序转换成特定汇编代码Assemble:汇编代码转换成机器码,产生的文件叫做目标文件,是二进制格式Linking:
复制链接 扫一扫
分享
![](https://img-community.csdnimg.cn/images/e9d507d4773c4197956e32643a318751.jpg)
44
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg4.515d57f6.png)
![](https://profile-avatar.csdnimg.cn/8a4ec64a33a94179aed3876f4109c417_jsl123x.jpg!1)
编程机制_讨论帖
以Linux下C语言的编译过程为例:编译过程只需:$ gcc hello.c # 编译$ ./a.out # 执行hello world!上述gcc命令其实依次执行了四步操作:1.预处理(Preprocessing), 2.编译(Compilatio
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221026062119.png)
编程机制_讨论帖
.txt文件为文本文件
...全文
25
5.0
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg1.98114ddf.png)
![](https://profile-avatar.csdnimg.cn/62eb9e846841484d86eddeb3448da683_qq_51458742.jpg!1)
编程机制_讨论帖
.txt文件为文本文件
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221026061917.png)
39
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg5.9eaaa691.png)
![](https://profile-avatar.csdnimg.cn/03413bd00ef54ba1aa4e1e3fb5fc6405_m0_74092309.jpg!1)
编程机制_讨论帖
编辑过程 1.预处理用于将所有的#include头文件以及宏定义替换成真正的内容。 2.编译将经过预处理之后的程序转换成特定汇编代码的过程。 3.汇编汇编过程将上一步的汇编代码转换成机器码,这一步产生的文件叫做目标文件。 4.链接链接过程将多个目标
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221026062159.png)
50
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg3.9519d347.png)
![](https://profile-avatar.csdnimg.cn/a2adef5874ba4030999672abef9c2525_weixin_72499177.jpg!1)
编程机制_讨论帖
1、预处理:将头文件以及宏文件替换成真正的内容;2、编译:将经过预处理的文件转换成汇编代码;3、汇编:将上一步的汇编代码转换为二进制码(机器码);4、链接:将多个目标文件以及所需要的库文件链接成一个可执行文件;
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221027062431.png)
41
5.0
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg4.515d57f6.png)
![](https://profile-avatar.csdnimg.cn/360b519206bd478a9cb46b7c075a0a62_qq_73450915.jpg!1)
编程机制_讨论帖
一个典型的C程序编译管道,包含预处理、编译、汇编、链接四个环节: 1. .h / .c文件 2. 预处理产生.i文件 3. 编译产生.s文件 4. 汇编产生.o文件 5. 链接产生. exe文件
复制链接 扫一扫
分享
![](https://img-community.csdnimg.cn/images/2d9604bed60244cb86eccf9dfa9a7047.jpg)
49
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg5.9eaaa691.png)
![](https://profile-avatar.csdnimg.cn/182ef7ba01314fe09ce43f086139fa47_weixin_63634948.jpg!1)
编程机制_讨论帖
C语言程序的编译过程一个典型的C程序编译管道,包含预处理、编译、汇编、链接四个环节。 1.预处理(Preprocessing):用于将所有的#include头文件以及宏定义替换成其真正的内容 2.编译(Compilation):将经过预处理之后的程序
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221109054159.png)
编程机制_讨论帖
还可以,题目不错,作者强!
...全文
22
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg4.515d57f6.png)
![](https://profile-avatar.csdnimg.cn/ace3bc1b099949f09a71c849d55093dc_yoyohuzeyou.jpg!1)
编程机制_讨论帖
还可以,题目不错,作者强!
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221026062149.png)
36
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg5.9eaaa691.png)
![](https://profile-avatar.csdnimg.cn/b2cd5fc50bc0413c84a5169331395617_qq_63441757.jpg!1)
编程机制_讨论帖
.c/.h-->.i-->.s-->.o-->.exe
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221109053731.png)
34
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg4.515d57f6.png)
![](https://profile-avatar.csdnimg.cn/4c9a660c55e64aaa9bb750965bd7992c_thebreezefour.jpg!1)
编程机制_讨论帖
linux系统是为了给开发者减轻负担,许多必要的步骤系统都帮您做了,给您提供了许多实用工具。编译是为了让您的代码能够在机器上运行,机器只能识别二进制代码。 预处理是为编译做准备,头文件、宏定义、条件编译的展开,形成一个个完整的文件。 编译是为了生成指
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221109054038.png)
50
评分
1
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg4.515d57f6.png)
![](https://profile-avatar.csdnimg.cn/c0b87005a0614f78850625b0d81dd69b_gzplyx.jpg!1)
编程机制_讨论帖
这篇专栏有助于学习C语言 https://blog.csdn.net/gzplyx/category_12119129.html?spm=1001.2014.3001.5482
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221027062414.png)
编程机制_讨论帖
预处理 编译 汇编 链接
...全文
16
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg3.9519d347.png)
![](https://profile-avatar.csdnimg.cn/ab13e67337bc4566be861cf6eb817be2_z609932088.jpg!1)
编程机制_讨论帖
预处理 编译 汇编 链接
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221027055836.png)
19
评分
回复
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg2.05330abf.png)
![](https://profile-avatar.csdnimg.cn/934dacbef07440c2966f9c83283eaac5_gengziyang_2010.jpg!1)
编程机制_讨论帖
.c或.h -> .s -> .o或.obj -> .exe
复制链接 扫一扫
分享
![](https://img-home.csdnimg.cn/images/20221109054232.png)
25
评分
1
![](https://csdnimg.cn/release/cmsfe/public/img/shareBg2.05330abf.png)
![](https://profile-avatar.csdnimg.cn/c331da44a9fd406fb8b1e6c3bb89e594_weixin_53231455.jpg!1)
编程机制_讨论帖
前言C语言程序从源代码到二进制行程序都经历了那些过程?本文以Linux下C语言的编译过程为例,讲解C语言程序的编译过程。 编写hello world C程序: // hello.c#include <stdio.h>int main(){ print
复制链接 扫一扫
分享
为您搜索到以下结果: