使用 main() 包含来自其他 cpp(hpp) 文件的函数

时间:2021-07-12 05:01:57

标签: c++ c function compilation

我正在使用 C++ 进行一些序列数据分析,并且发现很难跨文件调用函数。假设我有一个带有关联标题 A.cpp 的文件 A.hppA.cpp 有一个 Main() 函数和一个 My_Func() 函数,我希望在 B.cpp 中重用,它也有一个 Main() 函数。我的问题是,如何从 My_Func() 调用 B.cpp?我不允许编译 A.cpp 并将其与 B.cpp 链接,因为它会为程序创建两个入口点(两个主干线)。

我能想到的解决方案是在My_Func()中实现A.hpp而不是A.cpp并在A.hpp中包含B.cpp,即去{{3 }}。但这似乎非常低效(尽管可以接受)。我认为应该有更好的解决方案,即在 python 中我可以做 from A import My_Func。我想知道干净地处理这个问题的规范方法是什么?提前致谢!

1 个答案:

答案 0 :(得分:1)

创建另一个头文件,例如common.hpp 并在该头文件中声明 My_Func() 的函数定义。

然后,创建另一个 cpp 文件 common.cpp 并在其中实现函数。

现在,如果您在 common.hppA.cpp 中都包含 B.cpp,则从 My_Func()A.cpp 调用 B.cpp 都可以。

相关问题