Kyl*_*rce 3 c++ assembly clang machine-code object-code
我已经编码了 5 年多了,现在想远离 IDE,尝试一个没有 IDE 的项目。我有开始所需的东西(我认为),一个 HelloWorld.cpp 文件,打开的 Windows 命令提示符并安装了 Clang。
现在我有了这些东西,我的问题是 - 我需要在命令提示符中输入什么才能使 Clang 获取 HelloWorld.cpp 文件中的 C++ 代码并将其编译成包含 的单独文件assembly code,然后使 Clang 获取我的汇编代码并将其汇编成一个包含 的单独文件object code,然后最后让 Clang 获取我的目标代码并将其链接machine code到一个包含?的单独文件中。
最终意味着最后我将有 4 个文件,一个包含 C++ 代码,一个包含汇编代码,一个包含目标代码,最后一个包含机器代码。所有这一切的要点是能够在运行包含机器代码的文件之前读取和理解流程的每个阶段。
作为第一次离开 IDE 世界的人,我发现 Clang 官方文档非常混乱,无法找到我的问题的直接答案。
与 GCC 相同,我将通过首先预处理源文件来为您提供更好的帮助。原则上,Clang 还可以发出 LLVM 位码或 LLVM IR 作为两个额外的中间阶段。
clang++ source.cpp -E
clang++ source.ii -S
clang++ source.s -c
clang++ source.o
Run Code Online (Sandbox Code Playgroud)
最后一个给出了 a.out 作为可执行文件。您可以通过附加来定义每个命令的输出文件
-o output.file
Run Code Online (Sandbox Code Playgroud)
扩展名可能不是 100% 正确。只需检查结果即可。
| 归档时间: |
|
| 查看次数: |
4368 次 |
| 最近记录: |