簡體   English   中英

用C ++導入DLL(Win32)

[英]Import a DLL with C++ (Win32)

如何在C ++中導入DLL(minifmod.dll)?

我希望能夠在此DLL中調用一個函數。 我已經知道該函數的參數列表,但不知道如何調用它。

有沒有辦法像C#中那樣在C ++中聲明導入的函數?

如果DLL包含COM類型庫,則可以這樣使用#import語句:

#import dllname.dll

否則,您將需要與導入庫鏈接,並且需要為編譯器提供函數原型。 通常,DLL開發人員會提供導入庫和帶有原型的頭文件。 如果不是這樣,則很難生成它們- 除非您已經知道該函數的參數列表(即您說的那樣)。 指示可以在這里找到,以及其他地方。

在運行時,您可以調用LoadLibrary() ,然后調用GetProcAddress()來從DLL中訪問函數。 您將需要將此地址轉換為使用typedef定義的原型。 請參閱GetProcAddress文檔頁面上的示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM