begin process at 2012 05 30 10:30:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Utilisation DLL SANS .lib


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Utilisation DLL SANS .lib

mardi 17 février 2004 à 13:03:19 | Utilisation DLL SANS .lib

nasedo47

J'ai récupéré une DLL sur un site ainsi qu'une page avec les prototypes de toutes les fonctions contenues dans cette DLL.
J'aimerais utiliser ces fonctions dans une appli VC++ mais pas moyen.
Je connais la méthode LoadLibrary + GetProcAddress mais cele ne fonctionne pas car je ne connais pas le 2e argument pour GetProcAddress.

J'ai aucun probleme pour utiliser une DLL quand j'ai le .lib mais dans mon cas, je ne l'ai pas...

Petit exemple :

- une DLL avec la fonction int toto(int x); (retourne x*2)
- mon code cpp dans mon appli :


typedef int (*PROC1)(int x);
HINSTANCE hDLL;
PROC1 p1;
hDLL = LoadLibrary("test.dll");
p1 = (PROC1)GetProcAddress(hDLL,(LPCSTR)1);
printf("%d\n",p1(18));


Ce code fonctionne et me retourne donc 18*2 -> 36

OR, avec la DLL que j'ai trouvé, je ne sais pas quoi mettre comme 2e argument de GetProcAddress. Je sais que c'est un numéro mais ma DLL doit contenir +-30 fonctions et je ne sais pas quel est le numéro pour chaque fonction...

Merci de bien vouloir m'aider...
mardi 17 février 2004 à 13:15:40 | Re : Utilisation DLL SANS .lib

Arnotic

Administrateur CodeS-SourceS
Bonjour,

J'avais mis sur le site un exemple de ces procédure pour une DLL sans .lib : http://www.cppfrance.com/code.aspx?ID=10539

@+
Arnotic
Admin CS, MVP Visual C++
mardi 17 février 2004 à 13:27:59 | Re : Utilisation DLL SANS .lib

nasedo47


Ca ne marche pas...

J'ai ca comme erreur : Unhandled exception at 0x00000000 in testdll_c++.exe: 0xC0000005: Access violation reading location 0x00000000.

pour mon petit exemple j'ai remplacé (LPCSTR)1 par "toto" qui est le nom de ma fonction mais ca ne va pas...
mardi 17 février 2004 à 13:30:32 | Re : Utilisation DLL SANS .lib

Arnotic

Administrateur CodeS-SourceS
Bonjour,

Regarde aec un dessambleur la table export de ta DLL pour connaitre son exact dans l'export. Il faudra usiliser ce nom.

W32Dasm fera l'affaire.

@+
Arnotic
Admin CS, MVP Visual C++
mardi 17 février 2004 à 13:46:41 | Re : Utilisation DLL SANS .lib

nasedo47


Merci ca marche...


Cette discussion est classée dans : code, int, dll, lib, getprocaddress


Répondre à ce message

Sujets en rapport avec ce message

dll et lib [ par petitou ] Salut, j'ai un problème lors de l'édition de lien à la compilation avec ma dll dans visual studio.Lorsque je crée ma dll qui utilise une lib, ça ne p Créer une dll en C avec Code::Blocks [ par seb5 ] Salut à tous,Je souhaite placer certaines de mes fonctions dans une dll pour pouvoir les réutilisé dans plusieurs programmes. Je programme en C sous W exemple de creation et utilisation d'un simple dll . [ par bonapart002 ] Bonjour:je suis débutant en c++ .je travail  avec Borland C++ 5.01.je veux créer une dll puis l'utiliser dans un programme .pour cela j'ai crée  un pr Modifier un code utilisant une lib statique [ par andrebernard ] Bonjour à tous Je suis debutant, et j'ai trouvé ce code pour apprendre, sur un site de Microsoft qui montre comment modifier en C une structure envoy Utilisation DLL dynamique / getprocAddress null [ par Inutqen ] Bonjour à tous ! J'essaye d'utiliser une DLL fournie sans .lib, mais avec un beau .h, du coup je tente la combo LoadLibrary et GetProcAddress. Le pro compiler c/c++ main en dll [ par bmoumen27 ] Comment compiler le code suivant en dll avec gcc [code=cpp]int main(int argc, char** argv){ //the main code here }[/code] Comment c/c++ appels .Ex recherche valeur min dans un tableau ? [ par cur2009 ] Bonjour, J'ai besoin de votre aide pour me corriger le code que j'ai crée ci-dessous. ce code permet d'afficher la valeur minimale qui se trouve dans IntToStr en C [ par RENTMEESTERS ] bonjour à tous, Je dois convertir un nombre entier INT en une chaîne de caractère qui devra être affichée sur un LCD (*char). J'utilise un 16F887 et Déclarer explicitement une conversion de int => Enum [ par RV2931 ] Bonjour, J'ai pas mal d'énumération dans mon programme et j'ai souvent besoin de de prendre un simple int en entrée et de le convertir en l'Enumérati calculatrice matricielle avec boost::shared_array [ par mosaidrd ] le code ne genere aucune ereur mais il rencotre un problem d'assertion merci pour votre aide voici mon code : [code=cpp] //fichier Matrix.h #ifndef M


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales