2012-05-03 139 views
1

我創建了兩個新的C++項目。其中之一是C++ .dll項目,另一個是控制檯應用程序項目。調用C++程序中的dll函數

爲DLL程序,這裏的簡單的代碼(.cpp文件):

PIPESTOSPACES_API int npipesToSpaces=0; 

PIPESTOSPACES_API int fnpipesToSpaces(void) 
{ 
    return 42; 
} 

我要調用這些DLL函數,我通過從我的C++文件導出功能這樣做,和隱式鏈接在我的C++控制檯應用程序中。
如果某些人可以提到關於如何在C++控制檯應用程序中調用這些導出的.dll函數的步驟,那將會很棒。我提到this頁面瞭解導出等功能

編輯: 我目前使用Visual C++對所有這些東西在Visual Studio 2010中

+0

你在使用什麼編譯器? Gcc?女士 ? – BigMike

+1

@BigMike dll項目... –

+2

@LuchianGrigore有很多編譯器能夠生成DLL。那麼,也許海灣合作委員會不是其中之一^^。 – BigMike

回答

1

如果包含頭文件,你可以直接調用函數,因爲你知道原型並導入庫。

如果沒有,請致電LoadLibrary,獲取dll的句柄和GetProcAddress,並將該函數作爲回調調用。

+0

我將生成的C++ dll添加到我的控制檯應用程序項目中。但是,當我試圖包含頭文件「Sampledll.h」時,它給了我一個錯誤:'無法打開包含文件:'Sampledll.h':沒有這樣的文件或目錄' – user1240679

+0

@ user1240679在您的VS項目中檢查該目錄Sampledll.h位於包含路徑中。 – BigMike

+0

@Luchian Grigore:我直接在根路徑中添加它。但是,它仍然會出現相同的錯誤。在我所關注的文章中,我鏈接的鏈接也是'.lib'。那也是要做的嗎?丟失的步驟 – user1240679