1

我已经编码超过 5 年,现在想远离 IDE,尝试一个没有 IDE 的项目。我有我需要开始的东西(我认为),一个 HelloWorld.cpp 文件,打开 Windows 命令提示符并安装了 Clang。

现在我有了这些东西,我的问题是——我需要在命令提示符中输入什么才能让 Clang 在 HelloWorld.cpp 文件中获取我的 C++ 代码并将其编译成一个单独的文件,其中包含assembly code,然后让 Clang 获取我的汇编代码并将其组装到包含 的单独文件中object code,然后最后让 Clang 获取我的目标代码并将其链接到包含machine code?的单独文件中

最终的意思是最后我将有 4 个文件,一个带有 C++ 代码,一个带有汇编代码,一个带有目标代码,最后一个带有机器代码。所有这一切的重点是在运行包含机器代码的文件之前阅读和理解过程的每个阶段的能力。

作为第一次离开 IDE 世界的人,我发现 Clang 官方文档非常混乱,无法找到我的问题的直接答案。

4

1 回答 1

4

与 GCC 相同,我将通过首先预处理源文件来为您提供更好的服务。原则上,Clang 也可以发出 LLVM 位码或 LLVM IR 作为两个额外的中间阶段。

clang++ source.cpp -E
clang++ source.ii -S
clang++ source.s -c
clang++ source.o

最后一个给出 a.out 作为可执行文件。您可以通过附加来定义每个命令的输出文件

-o output.file

扩展可能不是 100% 正确的。只需检查会出现什么。

于 2020-12-07T20:51:02.293 回答