在c ++程序中调用函数,其中函数在其他c ++程序中声明

时间:2010-09-18 11:31:48

标签: c++

如何在c ++程序中调用函数,其中函数在其他 c ++程序中声明? 怎么能这样做?我可以使用 extern 吗?

4 个答案:

答案 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;
}