générer une librairie dll à partir d'une classe C++ sous windows

générer une librairie dll à partir d'une classe C++ sous windows - Programmation

Marsh Posté le 19-02-2001 à 10:22:39    

Bonjour...
 
J'ai créé une classe en C++ qui me permet de gérer une partie réseau d'une application. J'aimerais la passer en dll...
Mais je n'arrive pas à trouver comment faire...
en fait, j'arrive à créer la dll, mais il y a des caractères qui apparaissent et qui font que je ne peut pas appeler les méthodes de la classe...
 
Quelqu'un pourrait-il m'aider?
 
Merci

Reply

Marsh Posté le 19-02-2001 à 10:22:39   

Reply

Marsh Posté le 19-02-2001 à 10:29:07    

à partir de quel programme appelle-tu ta DLL (C++ ou un autre langage ?)


---------------
<a href="http://www.laprise.org">La prise</a> : mets les doigts dedans !
Reply

Marsh Posté le 19-02-2001 à 10:33:31    

darthbob a écrit a écrit :

à partir de quel programme appelle-tu ta DLL (C++ ou un autre langage ?)




 
Il s'agit d'un programme en C sous Windows qui appelle des méthodes d'une classe. Et c'est cette classe que je veux mettre en dll.

Reply

Marsh Posté le 19-02-2001 à 10:59:47    

Il ne s'agit donc pas d'une incompatibilité entre langages...
 
Utilise-tu une fichier .DEF ?
 
Génére-tu un fichier .exp ? Il peux te permettre de voir l'intitulé exact des fonctions exportées...


---------------
<a href="http://www.laprise.org">La prise</a> : mets les doigts dedans !
Reply

Marsh Posté le 19-02-2001 à 11:05:11    

darthbob a écrit a écrit :

Il ne s'agit donc pas d'une incompatibilité entre langages...
 
Utilise-tu une fichier .DEF ?
 
Génére-tu un fichier .exp ? Il peux te permettre de voir l'intitulé exact des fonctions exportées...




 
En fait, je vois déjà les noms des fonctions exportées, mais elles contiennent des caractères supplémentaires tels que "?" "@"...
 
Je ne pense pas utiliser de fichier .DEF   Je vais voir le .exp

Reply

Marsh Posté le 19-02-2001 à 11:12:11    

OK, alors crée un fichier .DEF (fichier texte) qui permet de décrire précisément les fonctions exportées :
 
 
 
LIBRARY    nomdelibrary
 
EXPORTS
    premierefonction          @1
    deuxiemefonction          @2
 
 
tu compiles avec ce fichier ...


---------------
<a href="http://www.laprise.org">La prise</a> : mets les doigts dedans !
Reply

Marsh Posté le 19-02-2001 à 11:19:40    

darthbob a écrit a écrit :

OK, alors crée un fichier .DEF (fichier texte) qui permet de décrire précisément les fonctions exportées :
 
 
 
LIBRARY    nomdelibrary
 
EXPORTS
    premierefonction          @1
    deuxiemefonction          @2
 
 
tu compiles avec ce fichier ...




 
 
Pour le nom des fonctions, je dois quand même préciser qu'il s'agit de méthodes d'une classe, ou ce n'est pas la peine?
 
EXPORTS
    nomclasse::nompremieremethode   @1
    nomclasse::nomdeuxiememethode   @2

Reply

Marsh Posté le 19-02-2001 à 11:26:27    

il vaut peut-etre mieux exporter la classe elle-même ?
 
dans ton source (.c) :
 
// This is the constructor of a class that has been exported.
// see test.h for the class definition
CTest::CTest()
 
 
dans le .h :
 
// This class is exported from the test.dll
class __declspec(dllexport) CTest {
public:
 CTest(void);
};

 

--Message édité par darthbob--


---------------
<a href="http://www.laprise.org">La prise</a> : mets les doigts dedans !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed