如何在c ++程序中调用函数,其中函数在其他 c ++程序中声明? 怎么能这样做?我可以使用 extern 吗?
答案 0 :(得分:7)
我建议最好的方法是重构第一个C ++程序,使所需的函数成为库的一部分。然后,您的程序都可以链接到该库,并且该功能可用于(以及任何其他需要它的程序)。
看看this tutorial。它介绍了如何使用gcc
创建然后使用库。其他C ++变体也会有其他类似的教程。
答案 1 :(得分:3)
如果您将程序称为“进程”,则取决于您运行程序的操作系统。在大多数情况下,您不能轻易(如果有的话),因为进程必须共享内存。在某些操作系统的调试版本中,这可能是可能的。简而言之:如果你想要从另一个程序中调用正在运行的程序的代码中的函数,这非常困难并且非常依赖于系统。
答案 2 :(得分:2)
#include
源文件与其他函数的声明。
答案 3 :(得分:2)
声明或定义?需要记住的重要一点是,在使用函数之前,编译器需要知道函数原型,因此使用#include
来确保编译器可以访问原型。它不一定需要函数的实际代码,这在链接时变得很重要。
所以,如果你有:
<强> MyFunc.hpp:强>
int add( int a, int b);
<强> MyFunc.cpp:强>
int add( int a, int b)
{
return a + b;
}
然后你可以在另一个文件中使用它:
<强> Main.cpp的强>
#include <iostream>
#include <MyFunc.hpp> // This is the important bit. You don't need the .cpp
int main( int argc, char* argv[] )
{
std::cout << add( 20, 30 ) << std::endl;
}