如何使用外部動態鏈接庫訪問以下函數?如何在C++中創建和使用共享庫
double sum(double a, double b)
{
return (a+b);
}
** P.S>我對這些東西沒有任何想法。只是想知道事情是如何工作的!
操作系統:對庫的Windows(最好)& Linux的
如何使用外部動態鏈接庫訪問以下函數?如何在C++中創建和使用共享庫
double sum(double a, double b)
{
return (a+b);
}
** P.S>我對這些東西沒有任何想法。只是想知道事情是如何工作的!
操作系統:對庫的Windows(最好)& Linux的
鏈接,並聲明原型(通常由包括在函數聲明頭完成)。
在Windows下,您必須明確標記該功能爲導入/導出(谷歌爲declspec(dllimport)
和declspec(dllexport
)。
它非常依賴於編譯器。例如,在某些系統(Windows)上,您必須在前面添加一些內容 - __declspec(dllexport)/ __declspec(dllimport)。在其他人(Linux)上,這不是必需的。
Here是一個很好的教程,介紹如何在Linux中使用gcc來完成它。
什麼是declspec()dllimport&dllexport? 請簡要介紹一下這些。 – abhisekp 2012-08-10 07:20:30
@ absk007你問過谷歌嗎? – 2012-08-10 07:25:15
已搜索google。那是declspec()微軟特定的(即特定於VC++)嗎?其實,只需要一個通用的。 我使用Code :: Blocks和「MingW64」編譯器。 – abhisekp 2012-08-10 07:33:57