使用 main() 包含来自其他 cpp(hpp) 文件的函数
Include functions from other cpp(hpp) file with main()
我正在使用 C++ 进行一些序列数据分析,发现很难跨文件调用函数。假设我有一个文件 A.cpp
和一个关联的 header A.hpp
。 A.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.cpp
和 B.cpp
中都包含 common.hpp
,那么从 A.cpp
和 B.cpp
调用 My_Func()
都可以].
我正在使用 C++ 进行一些序列数据分析,发现很难跨文件调用函数。假设我有一个文件 A.cpp
和一个关联的 header A.hpp
。 A.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.cpp
和 B.cpp
中都包含 common.hpp
,那么从 A.cpp
和 B.cpp
调用 My_Func()
都可以].