Reputation: 16315
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# ?
Upvotes: 22
Views: 117998
Reputation: 15020
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.
Upvotes: 3
Reputation: 37433
The c# syntax for declaring an imported function is not available in c++. Here are some other SO questions on how to use DLLs:
Upvotes: 17
Reputation: 2666
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.
Upvotes: 6