加载DLL库

是否可以使用C加载DLL并使用其function?

我是C的新手,我正试图在互联网上搜索一些好的参考资料; 但我找不到任何东西。

任何帮助,将不胜感激!

我在Windows 7,64位的Code :: Blocks中使用GNU GCC。

HMODULE hModule = LoadLibrary()后跟GetProcAddress(hModule, )将使用WinAPI完成此任务。

这里可以找到一个例子。

我认为你应该调查LoadLibrary函数。

http://msdn.microsoft.com/en-us/library/ms684175.aspx

将指定的模块加载到调用进程的地址空间中。 指定的模块可能会导致加载其他模块。

使用MinGW构建DLL,这里有一些说明:

首先,您需要标记要导出的函数,以便DLL的调用者可以使用它们。 要做到这一点,修改它们看起来像(例如)

 __declspec( dllexport ) int add2(int num){ return num + 2; } 

然后,假设您的函数位于名为funcs.c的文件中,您可以编译它们:

gcc -shared -o mylib.dll funcs.c标志告诉gcc创建一个DLL。

对于一个免费的IDE,它将自动化构建DLL所需的所有标志等,看看优秀的Code :: Blocks,它与MinGW非常兼容。

另请参阅MinGW Wiki上的创建与Visual Basic一起使用的MinGW DLL文章。