简体   繁体   中英

Import a DLL with C++ (Win32)

How do I import a DLL (minifmod.dll) in C++ ?

I want to be able to call a function inside this DLL. I already know the argument list for the function but I don't know how to call it.

Is there a way of declaring an imported function in C++ like in C# ?

If the DLL includes a COM type library, you can use the #import statement as such:

#import dllname.dll

Otherwise, you'll need to link with an import library, and you'll need to provide a function prototype for your compiler. Typically the import library and a header file with the prototypes are provided by the DLL developer. If you're not, they can be very difficult to produce - unless you already know the argument list for the function, which you say you do. Instructions can be found here , amongst other places.

At runtime you can call LoadLibrary() and then call GetProcAddress() to access the function from a DLL. You will need to cast this address to a prototype you define with typedef . See the example at GetProcAddress documentation page.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM