了解C编译管道

community_1031 2021-10-29 18:41:57

一个典型的C程序编译管道,包含预处理、编译、汇编、链接四个环节。

假设输入文件是helloworld.c,使用GCC编译程序,编译命令是gcc -Wall -save-temps helloworld.c -o helloworld,那么下面哪个不是C程序处理管道产生的文件?

返回练习题答题页面

...全文
14959 146 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
146 条回复
切换为时间正序
请发表友善的回复…
发表回复
**星光* 2022-06-28
精选
  • 打赏
  • 举报
回复 568

.c文件----->预处理产生.i文件----->编译产生.s文件----->汇编产生.o文件----->链接产生. exe文件

命中没爱 2023-02-13
  • 举报
回复 5
@**星光* 大哥说得对
P4rs₁f41 2024-04-22
  • 举报
回复
@**星光* 非常清晰
星星不再亮 2022-03-02
精选
  • 打赏
  • 举报
回复 101

第一次知道还会出现.i文件的
helloworld.c---->预处理产生helloworld.i----->编译产生helloworld.s------>汇编产生helloworld.o------>链接产生helloworld

无尽の星空 2022-05-22
  • 举报
回复 1
@星星不再亮 没什么印象
Gamkin Sou 2023-01-16
  • 举报
回复
@星星不再亮 我也不太知道预处理会出现.i的文件
_lazy. 2024-09-19
  • 打赏
  • 举报
回复
记住ESo就行
维纳斯T 2024-04-25
  • 打赏
  • 举报
回复
编译不会产生.txt文件
  • 打赏
  • 举报
回复
Cisoe
CSDN-Ada助手 2024-04-02
  • 举报
回复
@小邓同学的昵称 你好,请问有什么可以帮助你的吗?
fadoudemengxin 2024-03-08
  • 打赏
  • 举报
回复 4
简单来说就是 .txt 是文本文档,编程过程中产生的程序后缀并不是这个
CSDN-Ada助手 2024-03-08
  • 举报
回复
@fadoudemengxin 是的,你说的很对。在C程序处理管道中,通常产生的文件后缀不会是.txt,而是.i、.s、.o等。感谢你的评论!如果有任何其他问题,欢迎继续向我提问。
蜡笔-小欣 2024-01-29
  • 打赏
  • 举报
回复
在C程序编译通道是不会生成helloworld.txt文件的。
CSDN-Ada助手 2024-01-29
  • 举报
回复 1
@蜡笔-小欣 是的,你是对的。在C程序编译通道中,不会生成helloworld.txt文件。正确的文件应该是helloworld.i(预处理后的文件)、helloworld.s(汇编文件)和helloworld.o(目标文件)。感谢你的回答!有任何其他问题都可以继续问我。
祇彧qy 2024-01-22
  • 打赏
  • 举报
回复

这5个文件的内容有什么区别,可以举例吗

CSDN-Ada助手 2024-01-22
  • 举报
回复 8
@祇彧qy 当编译C程序时,每个文件都扮演着不同的角色。让我为您解释一下这5个文件的内容和区别。 - `helloworld.c` 是您编写的C源代码文件,包含了程序的实际逻辑和功能。 - `helloworld.i` 是预处理后的文件,其中包含了预处理器处理后的源代码,例如宏展开、条件编译等。 - `helloworld.s` 是汇编代码文件,其中包含了将C代码转换为汇编代码的结果。它使用汇编语言表示程序的逻辑。 - `helloworld.o` 是目标文件,它包含了编译器将汇编代码转换为机器码的结果。这是一个二进制文件,可以被链接器使用。 - `helloworld.txt` 不是C程序处理管道产生的文件,这里没有提到过它。 希望这能帮到您!如果还有其他问题,请随时提问。
烧饼夹馍 2023-12-01
  • 打赏
  • 举报
回复 1
其他的不知道是啥,但TXT是文本文件,明显不是编程里应该出现的
CSDN-Ada助手 2023-12-26
  • 举报
回复
@烧饼夹馍 是的,你说的对。在C程序编译管道中,通常不会生成一个叫做helloworld.txt的文件。其他的文件可能是预处理后的文件、汇编后的文件和目标文件,用于不同阶段的编译过程。感谢你的评论!
coding-cat 2023-11-06
  • 打赏
  • 举报
回复 2

教程不太清楚,要不之前学过c有一丢丢印象,并且 txt 太反常,看完教程我都不知道选哪个

CSDN-Ada助手 2023-12-26
  • 举报
回复
@coding-cat 没问题,让我来帮你解答。在这个C程序处理管道中,生成的文件包括helloworld.i(预处理后的文件)、helloworld.s(汇编代码文件)、helloworld.o(目标文件)。所以正确答案是helloworld.txt不是C程序处理管道产生的文件。希望能帮到你!
YLQ999 2023-11-04
  • 打赏
  • 举报
回复
学习完毕,中间发现了一个小错误,示例里的头文件实现的演示代码里,第五行吧,sum变成sub了,这个应该是打错了吧
CSDN-Ada助手 2023-12-26
  • 举报
回复
@YLQ999 感谢你的反馈,你是指示例中的helloworld.c文件吗?如果是的话,可以尝试修改并重新编译,然后看看是否能够得到正确的结果。如果还有其他问题或疑惑,欢迎随时向我提问。
dwyyyy 2023-10-18
  • 打赏
  • 举报
回复 21
.c    ------> 预处理文件
.i    ------> 编译文件
.s    ------> 汇编文件
.o    ------> 链接文件
.exe  ------> 可执行文件
CSDN-Ada助手 2023-12-26
  • 举报
回复
@dwyyyy 对的,你总结的很到位,这是C程序编译的典型流程。预处理文件以.i结尾,编译文件以.s结尾,汇编文件以.o结尾,链接文件以.exe结尾。有什么其他关于C程序编译的问题吗?我可以帮你解答。
Assd66 2023-09-27
  • 打赏
  • 举报
回复 1
这代码什么意思
CSDN-Ada助手 2023-12-26
  • 举报
回复
@Assd66 这是一个C程序编译的命令,包括预处理、编译、汇编和链接四个步骤,用来将源代码转换成可执行的程序。具体的意思可以参考C语言编译的过程。
try again! 2023-09-24
  • 打赏
  • 举报
回复
.c文件----->预处理产生.i文件----->编译产生.s文件----->汇编产生.o文件----->链接产生. exe文
CSDN-Ada助手 2023-12-26
  • 举报
回复
@try again! 对的,这就是一个典型的C程序编译管道。预处理将.c文件转换为.i文件,编译将.i文件转换为.s文件,汇编将.s文件转换为.o文件,最后链接将.o文件转换为.exe文件。这个过程可以帮助我们将C程序源代码转换为可执行文件。
只会C++啊 2023-08-18
  • 打赏
  • 举报
回复 7

快捷记忆 .c——> .iso ——>.exe 其中ISO(国际标准化组织)

CSDN-Ada助手 2023-12-26
  • 举报
回复
@只会C++啊 ISO文件通常是指光盘镜像文件,与C程序编译过程中产生的文件格式不太相关。在C程序编译过程中,.c文件经过预处理、编译、汇编和链接生成对应的.h、.s、.o文件,最终生成.exe可执行文件。希望这能帮到你理解C程序的编译过程。
小天屹 2023-08-09
  • 打赏
  • 举报
回复

.txt 是什么

  • 举报
回复
@小天屹 应该是文本吧
CSDN-Ada助手 2023-12-26
  • 举报
回复
@小天屹 .txt 是指文本文件的扩展名,通常用来存储文本数据。在C程序处理管道中,一般不会产生以 .txt 结尾的文件。
小天屹 2023-08-09
  • 打赏
  • 举报
回复 1

.c文件----->预处理产生.i文件----->编译产生.s文件----->汇编产生.o文件----->链接产生. exe文件.

CSDN-Ada助手 2023-12-26
  • 举报
回复
@小天屹 对的,你描述的C程序编译过程是正确的,包括预处理、编译、汇编和链接四个环节。在这个过程中,.c文件经过预处理生成.i文件,然后经过编译生成.s文件,再经过汇编生成.o文件,最后经过链接生成.exe文件。这个过程是编译器将源代码转换为可执行文件的重要步骤。如果你有任何关于C编译过程的问题,都可以问我哦!
  • 打赏
  • 举报
回复 1
.c文件--->预处理器产生.i文件--->编译器产生.s文件--->汇编器产生.o文件--->链接器产生.exe文件
CSDN-Ada助手 2023-07-14
  • 举报
回复
@爱喝可乐的菜鸡 是的,你对C程序编译管道的理解是正确的。预处理器会将.c文件转换为.i文件,编译器将.i文件转换为.s文件,汇编器将.s文件转换为.o文件,链接器将.o文件转换为最终的可执行文件(.exe文件)。这是C程序经过编译过程的一般流程。
想要AC的dly 2023-06-14
  • 打赏
  • 举报
回复
上面的答案是一个典型的C程序编译和链接过程,每个环节都会产生不同的中间文件。预处理会将源代码转换成文本文件,编译器会将文本转换成汇编语言,汇编器会将汇编语言转换成机器码,最后链接器会将所有的机器码组合成一个可执行文件。这个过程可以简化为四个步骤:预处理、编译、汇编和链接。
CSDN-Ada助手 2023-06-14
  • 举报
回复
@想要AC的dly 是的,您说得很对。C程序编译和链接过程确实包含预处理、编译、汇编和链接四个环节。每个环节都会产生不同的中间文件,最终生成可执行文件。谢谢您的回答。
在海里潜水 2023-05-26
  • 打赏
  • 举报
回复 2

.c>.i>.s>.o>.exe

CSDN-Ada助手 2023-05-26
  • 举报
回复 1
@在海里潜水 没错,这是一个典型的C程序编译管道,包含预处理、编译、汇编、链接四个环节。预处理将.c文件转换成.i文件,编译将.i文件转换成汇编代码.s文件,汇编将.s文件转换成目标文件.o,最后链接将所有目标文件合并成可执行文件.exe。
加载更多回复(77)

116

社区成员

发帖
与我相关
我的任务
社区管理员
  • community_1031
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧