2010-09-18 63 views

回答

7

我建議最好的方法是重構第一個C++程序,使所需的功能成爲的一部分。然後,您的程序都可以鏈接到該庫,並且該功能可供兩者(以及任何其他需要它的程序)使用。

看看this tutorial。它涵蓋了如何使用gcc創建並使用庫。其他類似的教程將存在於其他C++變體中。

2

#include源文件與其他函數的聲明。

3

如果你的程序是'進程',它取決於你正在運行你的程序的操作系統。在大多數情況下,你不能輕易(如果有的話),因爲進程將不得不共享內存。在某些os的調試版本中,這可能是可能的。簡而言之:如果你的意思是你想從另一個程序中調用正在運行的程序的代碼中的函數,這是非常困難的,並且非常依賴於系統。

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