Charger la bibliothèque DLL

Est-il possible de charger une DLL avec C et d’utiliser ses fonctions?

Je suis nouveau en C et j’essaie de chercher de bonnes références sur Internet pour cela; mais je n’en trouve pas.

Toute aide serait appréciée!

J’utilise GNU GCC dans Code :: Blocks sur Windows 7, 64 bits.

HMODULE hModule = LoadLibrary() suivi de GetProcAddress(hModule, ) effectuera ce travail à l’aide de WinAPI.

Un exemple pourrait être trouvé ici.

Je pense que vous devriez étudier la fonction LoadLibrary .

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

Charge le module spécifié dans l’espace d’adressage du processus appelant. Le module spécifié peut entraîner le chargement d’autres modules.

Construire une DLL en utilisant MinGW, voici quelques instructions:

Tout d’abord, vous devez marquer vos fonctions pour l’exportation afin qu’elles puissent être utilisées par les appelants de la DLL. Pour ce faire, modifiez-les afin qu’ils ressemblent à (par exemple)

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

Ensuite, en supposant que vos fonctions se trouvent dans un fichier nommé funcs.c, vous pouvez les comstackr:

gcc -shared -o mylib.dll funcs.c L’ gcc -shared -o mylib.dll funcs.c indique à gcc de créer une DLL.

Pour un IDE gratuit qui automatisera tous les indicateurs, etc. nécessaires à la construction de DLL, jetez un coup d’œil à l’excellent Code :: Blocks, qui fonctionne très bien avec MinGW.

Consultez également l’article Création d’une DLL MinGW à utiliser avec Visual Basic sur le wiki de MinGW.