[dev c++]dll en c++ pour un programme en c++

Description

Simple exemple d'utilisation d'une DLL faite en C++ dans un programme en C++ avec DevC++ (ma version est la 4.9.7.0 avec gcc 3.2)

Source / Exemple :


Le projet de la DLL et un projet vide auquel j'ai change le type (Option du projet->Type->win32 DLL)

Le projet qui utilise le dll est n'importe quel type de projet, il suffit de déclaré le fonction (voir usedll.cpp) et de pense a mettre le lib???.a dans les librairie du projet (voir usedll.cpp)

        • project de la DLL ****
type: win32 dll
    • dll.cpp**
//j'ai crée un project vide, puis option du projet->type->win32 dll #include <windows.h> //pour MessageBox int __declspec (dllexport) msgbox3(char *buffer) //une fonction exporter { MessageBox(NULL,buffer,"DLL!!!",0); return 0; }
        • project qui utilise la dll ****
type : win32 console (pour être autre chose) lib : libdll.a
    • usedll.cpp **
//il faut ajouter lib???.a où ??? c'est le nom du projet de la dll // c'est dans Project Option->Optional Lib (tout en bas) //chez moi c'est libdll.a int __declspec (dllimport) msgbox3(char *buffer); //je déclare ma fonction int main() { msgbox3("Utilise une DLL!"); return 0; }

Conclusion :


Voila. Un problème : laissez un message

Le principale problème est que le nom d'une fonction exporté (pas exemple msgbox3) est exporté sous __Z8_msgbox3P4@4 ce qui pose des problème pour utilisé cette DLL avec autre chose qu'un programme fait en C++ avec DevC++. (si qqun sait comment resoudre ce problème merci de me le faire savoir)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.