[英]Import a DLL with C++ (Win32)
如何在C ++中導入DLL(minifmod.dll)?
我希望能夠在此DLL中調用一個函數。 我已經知道該函數的參數列表,但不知道如何調用它。
有沒有辦法像C#中那樣在C ++中聲明導入的函數?
用於聲明導入函數的c#語法在c ++中不可用。 這是有關如何使用DLL的其他一些SO問題:
如果DLL包含COM類型庫,則可以這樣使用#import語句:
#import dllname.dll
否則,您將需要與導入庫鏈接,並且需要為編譯器提供函數原型。 通常,DLL開發人員會提供導入庫和帶有原型的頭文件。 如果不是這樣,則很難生成它們- 除非您已經知道該函數的參數列表(即您說的那樣)。 指示可以在這里找到,以及其他地方。
在運行時,您可以調用LoadLibrary()
,然后調用GetProcAddress()
來從DLL中訪問函數。 您將需要將此地址轉換為使用typedef
定義的原型。 請參閱GetProcAddress
文檔頁面上的示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.