【发布时间】:2021-12-21 19:17:10
【问题描述】:
我刚开始学习 C,我想知道:
- 编译后的文件名和源文件名有什么区别?
例如,为什么我想要一个已编译的文件名 cat 和源文件名cat.c?
【问题讨论】:
-
因为
cat.c是编译和链接以创建可执行文件cat的源代码。第一个是文本,第二个是二进制。这就像一堆零件和一辆汽车之间的区别——第一个几乎没有用,而第二个可以带你去市场旅行。或者一头牛和一块牛排 - 第一个可以四处走动并吃掉你的草坪,而你实际上可以做饭和吃第二个。 -
你不能运行
cat.c,但你可以运行cat。你不能编译cat,但是你可以编译cat.c。 -
@KenWhite 好的,这意味着我的
cat文件是a.out? -
不,实际上。我应该更清楚。
cat.c是源,它被编译成二进制目标文件cat,然后(连同任何必要的库或其他目标文件)链接到cat.out,您可以实际运行它。看@PalLaden给你的帖子,把assembly code换成c code;那里解释得很好。
标签: c