salut tout le monde
j'ai du code en c � partir duquel je veux g�n�rer une dll sous visual studio 2008, mais je sais ps comment faire.
la fonction main est dans "nec2c.c"
merci
salut tout le monde
j'ai du code en c � partir duquel je veux g�n�rer une dll sous visual studio 2008, mais je sais ps comment faire.
la fonction main est dans "nec2c.c"
merci
Votre code est tr�s li� au faite que c'est une application console.
C'est d�j� une tr�s mauvaise base pour en faire une dll.
-Cr�er un projet de type dll C/C++ dans VS.
-Copier dans la fonction DllMain g�n�r�e par le template du projet VS, le code du main (attention, la s�mantique d'appel de DllMain est bien diff�rente de celle de main)
-Mettre les .c et .h dans le projet en supprimant la fonction main (vu quelle a �t� transf�r�e dans DllMain)
Heu... Fausse bonne id�e, �a.
Par d�faut, DllMain est brid�e, ce qui fait par exemple que tu peux avoir des surprises car non seulement seule Kernel32.dll est garantie comme �tant d�j� charg�e au moment de l'appel � DllMain, mais en plus, toutes les fonctions de Kernel32 ne sont PAS garanties comme �tant safe. Bref, c'est un casse-gueule de premi�re d'effectuer des op�rations trop complexes dans cette callback.
Une initialisation complexe de DLL au sein de DllMain impose d'avoir le contr�le absolu sur la phase de chargement des DLL, ce qui est hors de port�e d'un d�butant en C / Windows... Et c'est m�me d'ailleurs hors de port�e de beaucoup de d�veloppeurs, m�me exp�riment�s : c'est fortement d�pendant de la version du compilateur, de l'OS, et des emplacements r�els des fonctions au sein des diverses DLL syst�me. Bref, ce n'est vraiment pas quelque chose � conseiller si l'on se pr�occupe un peu de la maintenabilit� et de l'�volutivit� d'un programme.
Plus de d�tails sur cette page.
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au s�rieux, de toutes fa�ons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum ad�quat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Partager