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