Création d'une DLL dans GCC ou Cygwin?
J'ai besoin d'aide pour compiler un script ("itérateur.c") dans une DLL. Je ne peux pas utiliser VS2010 puisqu'il ne pas en charge les fonctionnalités ajoutées à C dans le standard C99 (je suis en utilisant le "complexe.h" mais VB ne le supporte pas).
J'ai été à la recherche d'un remplacement, mais tout ce que j'ai trouvé est GCC qui je ne sais pas comment faire pour installer/utiliser (vraiment, j'ai passé comme une demi-heure de lecture par le biais de la documentation et je ne comprends même pas comment je suis censé pour l'installer), et Cygwin, je l'ai déjà installé mais je ne sais pas comment l'utiliser. Aussi, j'ai installé MinGW mais je pense que c'est le même que Cygwin plus ou moins, et je ne sais toujours pas comment faire une DLL.
Ce n'est pas comme j'ai été paresseux et je n'ai même pas essayé, c'est juste que les compilateurs ne sont pas comme rien que j'ai jamais utilisé avant (surtout Python IDLE et Visual Studio, qui font des choses assez facile pour vous). Je suis un peu perdu.
Quelqu'un pourrait-il me donner quelques conseils sur la façon d'utiliser ces outils pour faire une DLL que je peux accéder à partir d'un autre script? Il est vraiment important.
Vous en remercie d'avance.
OriginalL'auteur Daniel Torramilans | 2011-07-17
Vous devez vous connecter pour publier un commentaire.
Vous devez placer __declspec(dllexport) en face de la méthode que vous souhaitez exporter, tels que, vous pourriez #define ce à max, il est plus facile
Pour compiler la dll
puis pour attacher
EDIT: Oublié le plus important, vous avez besoin de faire un madll.h le fichier de définition de la méthode pour le compilateur sait réserver une place pour l'éditeur de liens à remplir plus tard. C'est aussi simple que
__declspec
pas__delspec
?extern "C" __declspec(dllexport)
Merci les gars pour la chasse, les fautes de frappe lors de l'écriture à la volée.
Si vous l'essayez sur cygwin du gcc, vous vous retrouverez avec votre DLL lié avec cygwin1.dll qui est le meurtre, si l'EXE n'est pas. utilisez-m-pas-de cygwin (ou est-ce-mno-cygwin) comme une option de gcc pour éviter cela.
-mno-cygwin
est correct, et les deux Cygwin et MinGW linkers en charge cette option, même si elle est redondante pour un autonome MinGW installation depuis MinGW est la cible par défaut plutôt que de Cygwin.OriginalL'auteur Jesus Ramos