使用多个文件编译程序

时间:2011-05-13 18:51:03

标签: c++ compilation dev-c++

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

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

4 个答案:

答案 0 :(得分:3)

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


那就是说, Dev-C ++非常非常老,而且没有维护。几年来没有见过更新。我强烈建议您使用其他IDE。有许多可供选择,包括名为wxDev-C++的Dev-C ++分支。我实际上推荐Code::BlocksVisual Studio Express,它们更加现代化,并且更好地支持调试和许多其他功能。

答案 1 :(得分:3)

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

  1. 每个C ++文件都是一个编译单元 - 意思是,编译器会将一个.cpp / .cxx文件转换为一个.obj / .o文件(分别在Windows和Linux(或任何Unix)上)
  2. obj文件,称为目标文件,包含该特定文件中存在的类和函数的机器代码(在此处跳过一些内部细节)
  3. 如果要访问其他编译单元中的函数,则需要链接这两个目标文件
    • 链接是一个用于链接两个目标文件的术语
    • 有一个单独的进程(编译器除外)用于链接目标文件
  4. 因此,在您的情况下,您需要使用dev-c ++编译器并创建单独的目标文件
  5. 然后使用链接器链接两个目标文件以创建最终的可执行文件
  6. 如果.cpp文件中存在要引用的函数,则使用头文件。头文件包含函数/类声明。 .cpp文件将具有实现。因此,在你的一个.cpp文件(例如)A.cpp中,你包含了头文件B.hpp并使用了B.hpp文件中的函数。包含头将告诉编译器函数声明存在于其他地方,并且链接器将负责将所有这些引用串联在一起以创建最终的可执行文件。

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

答案 2 :(得分:1)

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

例如:

#include "filename.h"
...
/* rest of code containing main function goes here */
...

答案 3 :(得分:1)

#include "path/filename.c"

main
{
...
...
...
}