3

我刚开始使用 Dev C++ 作为我的 IDE 来学习 C++。我正在使用的其中一个教程中有一个关于编译由多个文件组成的程序的页面。在这一点上很简单,我有一个文件,其中包含一个函数,另一个文件包含调用函数和输出结果所需的所有其他代码。问题是教程没有告诉我如何加入这些文件,所以我可以编译程序并让它工作。似乎有多种方法可以做到这一点,我想要它们,但我现在主要寻找最简单的一种。

我还应该提到我是新手,所以请尽量让你的解释简单易懂。

4

4 回答 4

3

通常,您会将这两个.cpp文件添加到同一目标下的项目中。它的 IDE 会自动将这两个文件添加到构建中并将它们链接在一起。


也就是说,Dev-C++ 非常非常古老且无人维护。它已经好几年没有更新了。我强烈建议您使用不同的 IDE。有 很多可供选择,包括一个名为wxDev-C++的 Dev-C++ 分支。我实际上推荐Code::BlocksVisual Studio Express,它们都更现代,并且对调试和许多其他功能有更好的支持。

于 2011-05-13T19:11:19.387 回答
3

我不确定 Dev-C++,但概念保持不变。所以,这里是你如何尝试让这两个文件一起工作

  1. 每个 C++ 文件是一个编译单元 - 意思是,编译器会将一个 .cpp / .cxx 文件分别转换为一个 .obj / .o 文件(在 Windows 和 Linux(或任何 Unix)上)
  2. 称为目标文件的 obj 文件包含该特定文件中存在的类和函数的机器代码(我在这里跳过了一些内部细节)
  3. 如果要访问不同编译单元中存在的函数,则需要链接这两个目标文件
    • 链接是一个术语,用于链接两个目标文件
    • 有一个单独的进程(除了编译器)来链接目标文件
  4. 因此,在您的情况下,您需要使用 dev-c++ 编译器并创建单独的目标文件
  5. 然后使用链接器链接两个目标文件以创建最终的可执行文件

如果要引用的 .cpp 文件中存在函数,则使用头文件。头文件包含函数/类声明。.cpp 文件将具有实现。因此,在您的一个 .cpp 文件(例如)A.cpp 中,您包含头文件 B.hpp 并使用 B.hpp 文件中的函数。包含头文件将告诉编译器函数声明存在于其他地方,并且链接器将负责将所有这些引用串在一起以创建最终的可执行文件。

希望这会有所帮助,否则,请不要犹豫提及您正在使用的文件,我可以建议如何将两个 .cpp 文件链接在一起。

于 2011-05-13T19:11:54.510 回答
1

您必须在具有 main() 函数的文件顶部使用 #include 预处理器指令来包含其他文件

例如:

#include "filename.h"
...
/* rest of code containing main function goes here */
...
于 2011-05-14T00:09:06.500 回答
1
#include "path/filename.c"

main
{
...
...
...
}
于 2018-02-08T11:50:03.450 回答