是否可以使用C加載DLL並使用其功能?加載DLL庫
我是C新手,我試圖在網上搜索一些很好的參考資料,但我找不到任何東西。
任何幫助,將不勝感激!
我在Windows 7,64位的Code :: Blocks中使用GNU GCC。
是否可以使用C加載DLL並使用其功能?加載DLL庫
我是C新手,我試圖在網上搜索一些很好的參考資料,但我找不到任何東西。
任何幫助,將不勝感激!
我在Windows 7,64位的Code :: Blocks中使用GNU GCC。
我想你應該調查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
的-shared標誌告訴gcc創建一個DLL。
對於一個免費的IDE,它可以自動執行構建DLL所需的所有標誌等,看看優秀的Code :: Blocks,它與MinGW很好地協作。
此外,請參閱MinGW Wiki上的創建用於Visual Basic的MinGW DLL文章。
哪個平臺? GCC的C庫提供'dlopen'等。 –