gpt4 book ai didi

c++ - C++程序开发周期的理解

转载 作者:行者123 更新时间:2023-12-01 14:04:37 26 4
gpt4 key购买 nike

我对编程世界很陌生。我从 Jesse Liberty 的《21 天自学 C++》一书开始。我有一些基本的和一些愚蠢的怀疑。

在第 15 页,作者解释了创建程序的过程——开发周期。在该部分中,有许多术语,与它们相对应,我有一些疑问,我将在下面列出。我已经运行了我的第一个 C++ 程序 helloworld(按照一个 youtube 视频的说明进行操作)。我首先写了整个过程,提到了我为运行我的第一个程序所做的工作。

我正在使用 Windows 10 和 gcc 编译器。所以,首先我在记事本中编写了我的代码,如下书所述。

#include <iostream>

int main()
{
std::cout << "Hello world!\n";
return 0;
}

然后:
  • 我保存为 helloworld.cpp .
  • 我打开命令提示符并输入 g++ .
  • 我将目录更改为保存文件的位置。
  • 我跑了g++ helloworld.cpp .现在在我保存文件的同一个文件夹中,一个名为 a.exe 的文件被创造了。
  • 我跑了a.exe屏幕显示Hello world! .现在回到我对这些技术术语的疑问。

  • 在我上面提到的过程中
  • “调用编译器”是什么意思?什么时候发生的,第 1 步?
  • 我的源文件是什么时候编译的? (是在第 4 步之后吗?)

  • 现在作者说,在你的源文件被编译后,会产生一个目标文件(扩展名为 .obj.o)。要将其转换为可执行程序,“您必须运行链接器”(即您必须将目标文件与所需的库链接)。
  • 编译过程后我在哪里可以找到该目标文件?
  • “您必须运行链接器”的过程是什么?在我上面提到的过程中是什么时候发生的?
  • 可执行程序在哪里? (是 a.exe 吗?)
  • 最佳答案

    1. What does "invoking a compiler" mean? When did that occur, step 1?


    “调用”只是意味着运行一个程序。你的编译器是 g++ ,它是 GNU Compiler Collection 的 C++ 前端。

    您在第 2 步中运行了一次,大概只是为了检查它是否已安装,然后……

    1. When did my source file get compiled?


    当你跑 g++再次在第 4 步中,您为其指定源代码文件的名称,并将其编译(并链接)为 a.exe .

    1. Where do I find that object file after compilation process?


    可能在您运行编译器的同一目录中,并且您在其中找到了链接的可执行文件。

    我不记得是否 g++在这种情况下,在此平台上保留中间对象文件 - 如果它不存在,您可以手动生成它
    g++ -c helloworld.cpp
    -c选项的意思是“编译但不链接”。您可以在 manual 中看到它的描述。 .这将保存中间目标文件。

    1. What is the process "you must run a linker"? When did that happen in my above mentioned process?


    默认情况下,GCC 会为您执行此操作(即,除非您添加 -c 选项)。

    1. Where is the executable program? (Is it a.exe?)


    是的,就是这样。 “可执行文件”只是您可以执行的文件(即,运行或“调用”它)。这就是 .exe后缀的缩写。

    关于c++ - C++程序开发周期的理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60975221/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com