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

Include functions from other cpp(hpp) file with main()

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

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

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

然后,创建另一个cpp文件,common.cpp并实现里面的功能。

现在,如果您在 A.cppB.cpp 中都包含 common.hpp,那么从 A.cppB.cpp 调用 My_Func() 都可以].