【问题标题】:Compilation process for C++ application? [closed]C++应用程序的编译过程? [关闭]
【发布时间】:2014-01-31 02:41:37
【问题描述】:

我已经编程 2 年了,在处理编译过程时总是遇到困难。 我在工程期间没有学习计算机科学,但必要性驱使我学习 C++。 我尝试从一些博客中理解编译过程,但它们总是使用我无法理解的语言。 所以我在这个网站上搜索了一个类似的问题,但没有找到。 所以我想知道 .cpp 中的文本是如何转换为二进制可执行文件的?

【问题讨论】:

  • 去掉所有绒毛后,您的问题归结为:“.cpp 文件中的文本如何转换为二进制可执行文件?” - 这对于stackoverflow来说太宽泛了。试试维基百科:en.wikipedia.org/wiki/Compiler - 或者谷歌,或者找一本书..
  • 这个问题需要很多章来解释。
  • @unxnut 语言为 C++,平台为 Windows。

标签: c++ compiler-construction compilation


【解决方案1】:

基本上,预处理器首先运行通过简单的文本替换来解析您的所有#includes#defines。然后编译器为每个.cpp 文件创建一个编译单元,除了共享数据和函数之间的“连接”或链接之外,几乎所有内容都归结为机器代码。对于执行的速度和/或空间,可能有许多级别的优化。对所有 .cpp 文件重复此操作。最后,链接阶段将所有这些编译单元和它们使用的库绑定到一个可执行文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    相关资源
    最近更新 更多