Creation DLL avec Visual C/C++ 6.0

Creation DLL avec Visual C/C++ 6.0 - C++ - Programmation

Marsh Posté le 03-07-2006 à 11:01:16    

Salut!
 
J'aimerai creer une simple dll en C++ avec Visual C 6.0 mais je suis une debutante. Quelqu'un pourrait me guider pas a pas? Je ne trouve pas de tutoriel sur le net.
Merci

Reply

Marsh Posté le 03-07-2006 à 11:01:16   

Reply

Marsh Posté le 03-07-2006 à 11:34:58    

google + "compile dll visual C++ 6 tutorial" =
http://www.programmers-corner.com/tutorial/4


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 03-07-2006 à 12:35:01    

Merci. Ms y a un truc ke je comprends pas. Dans mon dossier release je n'est pas de dll ms des fichiers .pch et .obj. Et le fichier .def est-il absolument necessaire? Je voudrais importer une classe entiere. Voici mon .cpp et mon .h de test.
 
// Compteur.cpp : Defines the entry point for the DLL application.
//
 
#define COMPTEUR_EXPORTS
 
#include "stdafx.h"
#include "Compteur.h"
#include "time.h"
 
 
 
// This is the constructor of a class that has been exported.
// see Compteur.h for the class definition
COMPTEUR_API CCompteur::CCompteur()
:c(0)
{  
}
 
COMPTEUR_API CCompteur::startTime()
{
 while(1){
  int secElapsed=clock();
  if (secElapsed%10==0) c++;
 }
 
}
 
COMPTEUR_API int CCompteur::getC()
{
 return c;
}
 
COMPTEUR_API CCompteur::setC(int _c)
{
 c = _c;
}
 
 
**************
 
 
// The following ifdef block is the standard way of creating macros which make exporting  
// from a DLL simpler. All files within this DLL are compiled with the COMPTEUR_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see  
// COMPTEUR_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
#ifdef COMPTEUR_EXPORTS
#define COMPTEUR_API __declspec(dllexport)
#else
#define COMPTEUR_API __declspec(dllimport)
#endif
 
// This class is exported from the Compteur.dll
class COMPTEUR_API CCompteur {
public:
 CCompteur(void);
 startTime(void);
 getC();
 setC(int _c);
 
private:
 int c;
};
 
 

Reply

Marsh Posté le 03-07-2006 à 13:00:17    

mareek a écrit :

google + "compile dll visual C++ 6 tutorial" =
http://www.programmers-corner.com/tutorial/4


 
En fait je n'ai pas de .dll apres la compilation. seulement un lib et un exp ds le dossier debug

Reply

Marsh Posté le 03-07-2006 à 13:03:05    

jess100 a écrit :

En fait je n'ai pas de .dll apres la compilation. seulement un lib et un exp ds le dossier debug


 
Ah c normal g des erreurs a la compilation ...

Reply

Marsh Posté le 03-07-2006 à 15:00:38    

Ca y est j'arrive a creer ma dll mais je n'arrive pas a la charger : le handle est a null. Pourtant le chemin specifie est bien le bon. Quelqu'un a deja rencontre ce type d'erreur??
 

Reply

Marsh Posté le 03-07-2006 à 15:32:27    

je suppose que tu utilises LoadLibrary() pour charger ta dll... quel est le code d'erreur renvoyé par GetLastError() ?

Reply

Marsh Posté le 03-07-2006 à 15:50:54    

C'est l'erreur 126

Reply

Marsh Posté le 03-07-2006 à 15:58:05    

récupère le message correspondant avec la fonction FormatMessage


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 03-07-2006 à 15:58:53    

Citation :


ERROR_MOD_NOT_FOUND
126  The specified module could not be found.


http://msdn.microsoft.com/library/ [...] 0-499_.asp
 
maintenant, à toi de voir le module qui n'est pas trouvé... as tu mis la dll dans %SYSTEM% ?

Reply

Marsh Posté le 03-07-2006 à 15:58:53   

Reply

Marsh Posté le 03-07-2006 à 16:11:07    

nan...j'ai juste creer une dependance entre la dll et le programme qui l'utilise. Je dois la mettre ou alors?

Reply

Marsh Posté le 03-07-2006 à 16:37:23    

windows\system32
edit: ou dans le répertoire de ton appli


Message édité par Harkonnen le 03-07-2006 à 16:39:15
Reply

Marsh Posté le 03-07-2006 à 16:54:04    

elle est ds le rep debug de mon appli c bon?

Reply

Marsh Posté le 03-07-2006 à 17:33:16    

normalement ça devrait etre bon, met la dans system32 au cas ou

Reply

Marsh Posté le 04-07-2006 à 09:10:08    

Pour automatiser le la copie, tu peux ajouter une règle de "Postbuild process", dans les settings de ton projet, qui copiera automatiquement les dlls générées dans system32 ou le répertoire de ton choix.

Reply

Marsh Posté le 04-07-2006 à 11:22:18    

_darkalt3_ a écrit :

Pour automatiser le la copie, tu peux ajouter une règle de "Postbuild process", dans les settings de ton projet, qui copiera automatiquement les dlls générées dans system32 ou le répertoire de ton choix.


 
Ok. et je fais ca comment?

Reply

Marsh Posté le 04-07-2006 à 13:28:24    

Personne pour m'aider??

Reply

Marsh Posté le 04-07-2006 à 13:43:49    

mais tu voudrais pas un peu te sortir les doigts du c** et essayer de chercher par toi même un peu ? [:mlc]
darkalt t'a tout dit, faut un minimum de travail perso hein


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 04-07-2006 à 13:57:15    

Reply

Marsh Posté le 04-07-2006 à 14:54:03    

Toujours cette erreur 126...

Reply

Marsh Posté le 04-07-2006 à 14:56:56    

tu loaderai pas la debug à la place de la release ?

Reply

Marsh Posté le 04-07-2006 à 15:00:55    

en meme temps, y'a un debugger intégré à VS hein, ça serait bien de l'utiliser [:kiki]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 04-07-2006 à 15:09:34    

Harkonnen a écrit :

en meme temps, y'a un debugger intégré à VS hein, ça serait bien de l'utiliser [:kiki]


 
T'as rien dotre a faire ke de faire chier le monde? Jsuis la pr apprendre pas pr recevoir des lecons alors va demonter qqn dotre la star!

Reply

Marsh Posté le 04-07-2006 à 15:24:56    

Nan nan c bien la release

Reply

Marsh Posté le 04-07-2006 à 15:28:26    

Nan nan c bien la release

Reply

Marsh Posté le 04-07-2006 à 16:07:39    

Un peu de respect pour les gens qui t'aident ne serait pas déplacé :o

Reply

Marsh Posté le 04-07-2006 à 16:14:01    

jess100 a écrit :

Jsuis la pr apprendre pas pr recevoir des lecons


Ah ouais quand meme [:pingouino]
 
"Cette phrase est fausse" [:psychokwak]


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 04-07-2006 à 16:18:09    

jess100 a écrit :

T'as rien dotre a faire ke de faire chier le monde? Jsuis la pr apprendre pas pr recevoir des lecons alors va demonter qqn dotre la star!


sur le coup la "star" c'est plutot toi
sympa la gratitude

Reply

Marsh Posté le 04-07-2006 à 16:24:30    

jess100 a écrit :

T'as rien dotre a faire ke de faire chier le monde? Jsuis la pr apprendre pas pr recevoir des lecons alors va demonter qqn dotre la star!


ok poulette, on va remettre les choses au clair :
- déjà ta question : en 2 secondes, mareek t'a trouvé un tuto sur le net sans se forcer. t'as pas du beaucoup chercher
- ensuite, les différentes réponses que je t'ai fait au sujet de GetLastError() et tout, apparemment t'as du oublier
- darkalt t'indique une manipulation, la moindre des choses est d'essayer sa manip avant de demander comment on fait
- ensuite, ton problème serait résolu depuis longtemps si tu avais utilisé le debugger : tu aurais vu les paramètres envoyés à LoadLibrary(), et le module impossible à charger
- enfin tu te permets de m'insulter alors que je pense que je t'ai fait pas mal avancer, alors tu m'excuseras, mais là je te trouve sacrément culottée
- et pour finir, tu écris en SMS Style, ce qui est interdit sur ce forum, et ne fait que confirmer ton manque de respect vis à vis des intervenants présents ici
 
pas de bol, t'as insulté la mauvaise personne : TT jusqu'à la fin de la semaine


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 04-07-2006 à 16:29:40    

t'as été sympa j'en connais qu'on été ban pour 3 mois pour moins que ça :o


---------------
Never f**k with your systems administrator. Why? Because they know what you do with all that free time! |?? | SAVE Jericho !
Reply

Marsh Posté le 04-07-2006 à 16:29:56    

jess100 a écrit :

T'as rien dotre a faire ke de faire chier le monde? Jsuis la pr apprendre pas pr recevoir des lecons alors va demonter qqn dotre la star!


figure 1 : discour cohérent

Reply

Marsh Posté le 04-07-2006 à 16:30:40    

Harko est un sale pédoc !

Reply

Marsh Posté le 04-07-2006 à 16:30:53    

Le_Tolier a écrit :

t'as été sympa j'en connais qu'on été ban pour 3 mois pour moins que ça :o


que veux tu, je peux pas frapper une femme [:petrus75]

Message cité 2 fois
Message édité par Harkonnen le 04-07-2006 à 16:31:22

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 04-07-2006 à 16:32:23    

Harkonnen a écrit :

que veux tu, je peux pas frapper une femme [:petrus75]


Pourquoi ? Tes capacités physiques sont si faible que ça ?

Reply

Marsh Posté le 04-07-2006 à 16:33:44    

stiffler a écrit :

Pourquoi ? Tes capacités physiques sont si faible que ça ?


il a un malaise le peignoir ? [:heink]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 04-07-2006 à 16:34:39    

Harkonnen a écrit :

il a un malaise le peignoir ? [:heink]


Non mais visiblement tes couches séniors sont plus remplies que ton crane.

Reply

Marsh Posté le 04-07-2006 à 16:35:20    

stiffler a écrit :

Non mais visiblement tes couches séniors sont plus remplies que ton crane.


tain, mais ta mère t'a bercé un peu trop près du mur toi [:mlc]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 04-07-2006 à 16:37:07    

Harkonnen a écrit :

que veux tu, je peux pas frapper une femme [:petrus75]


 
Et après il y a Isabelle Alonso qui nous fais chier avec son féminisme :o


---------------
Never f**k with your systems administrator. Why? Because they know what you do with all that free time! |?? | SAVE Jericho !
Reply

Marsh Posté le 04-07-2006 à 16:39:30    

Harkonnen a écrit :

tain, mais ta mère t'a bercé un peu trop près du mur toi [:mlc]


putain mais tu fais même pas l'effort de sortir autre chose que les répliques préfabriquées utilisées au collège ... ça me donne même pas envie de te répondre .. fait un effort [:sadnoir]

Spoiler :


Pour le principe :  
C'est pas ma mère qui était obligé de m'attacher un steack autour du coup pour que le chien joue avec moi

Reply

Marsh Posté le 04-07-2006 à 16:59:48    

STIFFLER PRAISIDENT §§§§/


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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