Soyez le premier à donner votre avis sur cette source.
Vue 11 584 fois - Téléchargée 907 fois
1. Création du projet sous VC++ 6 Faire new Project. Choisir un projet vide puis « Finish ». 2. Création fichier Header (.h) Créer un nouveau fichier header dans le projet en cours puis entrez les déclarations des fonctions qui seront contenues dans la dll. Ex : fonctions.h #include <windows.h> #ifdef EXEMPLEDLL_EXPORTS #define EXEMPLEDLL __declspec(dllexport) #else #define EXEMPLEDLL __declspec(dllimport) #endif extern "C" EXEMPLEDLL void ecrire(char*); Attention : ici EXEMPLEDLL représente le nom du projet (vérifiez l’orthographe). 3. Création du fichier Source (.cpp) Créer un nouveau fichier .cpp, puis implementer les fonctions déclarées auiparavant. Ex : fonctions.cpp #include <iostream.h> #include "fonctions.h" //le DllMain est généré par le compilateur en cas d'absence extern "C" EXEMPLEDLL void ecrire(char* texte) { //Ecriture du texte cout << texte; cout.flush();//important } 4. Compilation Faire Built\Rebuild All Nous obtenons : Exempledll.dll. Arborescence : 5. Utilisation de la dll Créer un nouveau projet. Copier la dll précédente dans le même répertoire que le projet. Principe d’utilisation : Charger la librairie (Loadlibrary) Pointage sur la fonction désirée. Décharger la librairie (Freelibrary) Ex : #include "stdafx.h" #include <windows.h> #include <iostream.h> //déclaration du type : pointeur de fonction (il pointera sur "ecrire") typedef void (*PF) (char*); int main(int argc, char* argv[]) { HMODULE hm = 0; // On charge la librairie en memoire hm = LoadLibrary("Exempledll"); // On pointe sur la fonction désirée PF ecrire = (PF)GetProcAddress(hm, "ecrire"); // Utilisation de fonction ecrire("hello world"); // On decharge la dll de la memoire FreeLibrary(hm); return 0; }
Error executing cl.exe.
j'ai ça comme erreur, pourtant j'ai suivie à la lettre tes instructions
J'ai jamais utilisé des structures contenues dans des dll.
Désolé de ne pas pouvoir t'aider.
a+
Ce qui n'est pas le cas de tous les Tutaux présents sur ce site.
Il faut savoir, que le hobbi du déveleppement n'est pas restreint à ceux qui ont fait ou pu faire de hautes études et que parmis les développeurs ou ceux qui souhaitent le devenir, il y a en a qui n'ont pas eu la chance d'étudier (Manque de moyen / Famille nombreuse)
Alors encore merci et continus ainsi.
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.