首页 > 解决方案 > C/C++ 编译过程的哪个阶段使其依赖于系统?

问题描述

我正在阅读教程。只有链接阶段使编译c/c++代码系统依赖吗?汇编语言代码生成不是也依赖于系统吗?在这种情况下,系统、机器和处理器不是一回事吗?

标签: c++ccompilation

解决方案


我猜你的意思是这个:

链接非常依赖于系统,因此将目标文件链接在一起的最简单方法是在您希望链接在一起的所有不同文件上调用 clang。

他们的意思是链接的命令行语法非常依赖于系统。您可能必须明确告诉链接器应该包含哪些标准库文件,例如,哪些标准库文件因平台而异。但在所有平台上,clang 前端都知道如何正确调用链接器。本教程建议您通过 clang 链接,而不是直接调用链接器。

这当然不是编译中唯一依赖于系统的部分,但其他部分隐藏得更好。传递像-O2clang 这样的标志可以实现各种依赖于CPU 的程序转换,但您不必在命令行上告诉clang 如何进行这些转换。


推荐阅读