2012-08-10 74 views
0

如何使用外部動態鏈接庫訪問以下函數?如何在C++中創建和使用共享庫

double sum(double a, double b) 
{ 
    return (a+b); 
} 

** P.S>我對這些東西沒有任何想法。只是想知道事情是如何工作的!

操作系統:對庫的Windows(最好)& Linux的

回答

0

鏈接,並聲明原型(通常由包括在函數聲明頭完成)。

在Windows下,您必須明確標記該功能爲導入/導出(谷歌爲declspec(dllimport)declspec(dllexport)。

+0

什麼是declspec()dllimport&dllexport? 請簡要介紹一下這些。 – abhisekp 2012-08-10 07:20:30

+0

@ absk007你問過谷歌嗎? – 2012-08-10 07:25:15

+0

已搜索google。那是declspec()微軟特定的(即特定於VC++)嗎?其實,只需要一個通用的。 我使用Code :: Blocks和「MingW64」編譯器。 – abhisekp 2012-08-10 07:33:57

0

它非常依賴於編譯器。例如,在某些系統(Windows)上,您必須在前面添加一些內容 - __declspec(dllexport)/ __declspec(dllimport)。在其他人(Linux)上,這不是必需的。

Here是一個很好的教程,介紹如何在Linux中使用gcc來完成它。

+0

請爲「Windows」指定教程。 許多可用於Linux的工具。 Cudn't找不到Win – abhisekp 2012-08-10 07:21:38

+0

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682589%28v=vs.85%29.aspx – jahhaj 2012-08-10 07:26:11