c++ - C/C++ 编译过程的哪个阶段使其依赖于系统?
问题描述
我正在阅读本教程。只有链接阶段使编译c/c++代码系统依赖吗?汇编语言代码生成不是也依赖于系统吗?在这种情况下,系统、机器和处理器不是一回事吗?
解决方案
我猜你的意思是这个:
链接非常依赖于系统,因此将目标文件链接在一起的最简单方法是在您希望链接在一起的所有不同文件上调用 clang。
他们的意思是链接的命令行语法非常依赖于系统。您可能必须明确告诉链接器应该包含哪些标准库文件,例如,哪些标准库文件因平台而异。但在所有平台上,clang 前端都知道如何正确调用链接器。本教程建议您通过 clang 链接,而不是直接调用链接器。
这当然不是编译中唯一依赖于系统的部分,但其他部分隐藏得更好。传递像-O2
clang 这样的标志可以实现各种依赖于CPU 的程序转换,但您不必在命令行上告诉clang 如何进行这些转换。
推荐阅读
- java - 由于缺少执行数据文件而跳过 JaCoCo 执行
- javascript - 如何在 SvelteKit 中创建简单的受保护路由?
- c - 从 c-object 文件中提取静态结构值,但 readelf 和 gdb 报告目标文件中的错误位置
- rest-assured - 放心:测试原始响应体的最佳方法是什么?
- html - 仅在 1 页中将样式应用于 div
- python - 如何减少 HoughLines 的闪烁?
- python - 如何遍历字典数组以仅将相关键复制到新字典?
- cgal - 将 Polyhedron 对象转换为 Nef_polyhedron 对象
- xml - SelectSingleNode 返回空值
- python - PyAutoGui - 按住键'X'秒