begin process at 2012 05 29 11:11:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

Dll sous linux


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

Dll sous linux

mercredi 11 mars 2009 à 16:44:18 | Dll sous linux

alexatique

Bonjour,
Voila mon probleme, je dois developper une dll sous visual studio, faire un programme qui appelle cette dll. Ceci je l'ai validé.Mais maintenant je dois developper une dll sous Linux et ensuite tester si cette dll marche avec mon programme c++.En esperant que j'ai été assez comprehensible. Merçi d'avance.
mercredi 11 mars 2009 à 17:47:18 | Re : Dll sous linux

CptPingu

Administrateur CodeS-SourceS
Regarde du côté de "g++ --shared", ça te permet de créer des bibliothèques dynamiques (*.so).
jeudi 12 mars 2009 à 09:19:25 | Re : Dll sous linux

alexatique

Merci de ta réponse mais c'est pas ca le probleme.Enfin dans mon programme de test j'appelle une fonction ecrire.

Programme de test.cpp

#include

"stdafx.h"

#include

<windows.h>

#include

<iostream>

using

namespace std;

typedef

void (*PF) ( char *);

int

main( int argc, char * argv[])

{

HMODULE hm = 0;

hm = LoadLibraryA(

"test_Linux" );

PF ecrire = (PF)GetProcAddress(hm,

"ecrire" );

ecrire(

"Coucou" );

FreeLibrary(hm);

return 0;

}

Donc il faut que je crée une dll sous linux qui a une fonction ecrire...
En fait lorsque que je compile sa me met des erreurs dans mon programme

jeudi 12 mars 2009 à 09:32:14 | Re : Dll sous linux

alexatique

Et voici la dll que je faire fonctionner sous Linux:

#include <stdio.h>
#include "DLL.h"

dllimport void ecrire (char* texte)
    {
  
    cout << texte;
    cout.flush();
  }

Et voici DLL.h

#include <stdio.h>
 
//#ifdef DLL_EXPORTS
//#define DLL __declspec(dllexport)
//#else
//#define DLL __declspec(dllimport)
//#endif
 
//dllimport int ecrire (char* texte)
jeudi 12 mars 2009 à 13:46:13 | Re : Dll sous linux

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Argh !

LoadLibraryA
GetProcAddress
FreeLibrary

Ce sont des fonctions windows. Pour Linux, il faut utiliser dlopen et ses collègues. Dans le cas d'un chargement dynamique d'une librairie dynamique. Mais tu peux aussi utiliser dllimport pour te lier statiquement à la librairie dynamique...

Tant que j'y suis, DLL.h semble conçu pour être inclus dans l'exe et la dll, avec le ifdef pour le declspec. Mais dllimport fait tâche.

#include <stdio.h>
 
#ifdef DLL_EXPORTS
#define DLL __declspec(dllexport)
#else
#define DLL __declspec(dllimport)
#endif
 
DLL_EXPORTS int ecrire (char* texte)

Jamais vu quelqu'un utiliser stdafx sous Linux. C'est un fichier généré par VC en général, donc a oublier.

En général, une dll exporte des fonction C, pas C++. M'enfin pour un exemple...

Plus d'explications ici.


Cette discussion est classée dans : programme, dll, linux, developper


Répondre à ce message

Sujets en rapport avec ce message

portage Linux vers visual C++ [ par acsx ] Salut,J'ai un programme écrit en C sous Linux et je souhaite le faire tourner sous Visual C++ 6.0 sous Windows.J'ai donc créé un projet win32 et intég problème de lib et de dll... [ par Raoul12 ] je programme sous vc++6 et j'aimerais savoir s'il est possible de faire appel à une dll externe à un programme principal sans avoir à recompiler le pr DLL [ par amosc ] Je dois faire un programme (visual c++) avec les DLL d un lecteur carte a puce, et je ne sais pas comment faire pouvez vous m aider a inclure les DLL C++ && DLL ==> CGI [ par amosc ] salut cppfrance.comVoila j ai un programme en c++ qui appel une DLL, ce programme pilote un lecteur carte a puce, je voulai l incorporer dans une pag MFC42D.DLL [ par oRTEEZ ] Bonjour a tous, Voila j'ai cree un programme sous VC++ 6.0 en utilisant les MFC. Il marche tres bien.Mais lorsque je veux faire fonctionner le progra DLL et fichier de VCL [ par Siriusgalaxie26 ] SiriusJ'ai un problème de débutant : Dès qu je compile un programme avec Broland C++ Builder, Ce programme marche sur mon ordi, mais pas sur un autre. compilation c++ sous linux [ par marco2009 ] voila je commence a programmer en cpp et lorsque j'essaye de compile avec la console en utilisant gcc ca marche pour les programme ecrit en c mais po Question DLL [ par LordBob ] Bonjours a tous,en fait je voudrais juste savoir s'il été possible d'utiliser une DLL aussi bien avec un programme fonctionnant en mode console qu'un SVP - ULTRA URGENT - Prob Distribution prog Win98 [ par marcel6566 ] Bonjour,J'ai créé un programme d'aide à la lecture pour 4 classes de CP dans une école primaire. Mon programme est réalisé sous XP avec VC++ version 6 Utilisation d'une dll compilée dans un programme C [ par Cako19 ] Bonjour, Je souhaite utiliser une fonction présente dans une dll compilée qu'on m'a fournie. Comment puis-je faire en sorte que le programme dans lequ


Nos sponsors


Sondage...

Comparez les prix

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 : 3,869 sec (3)

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