begin process at 2012 02 11 16:13:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

DLL C++


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

DLL C++

lundi 23 janvier 2006 à 15:26:33 | DLL C++

kharrat

Salut, Je veux écrire un programme en C++ qui doit à priori tourner sur une plateforme UNIX, avec des commandes Shell. Cependant, j'aimerais (dans un futur plus ou moins proche) pouvoir porter mon appli sous Windows. Je souhaiterais alors créer une IHM VB. Mon idée est de créer une DLL à partir du programme original (je me serai assurer au préalable que le programme est portable). Pour info, j'ai à ma disposition Visual Studio 6 et Visual .NET. Questions: 1. est-ce possible ? 2. si oui, comment faire ?
lundi 23 janvier 2006 à 16:38:14 | Re : DLL C++

sibi12

Réponse acceptée !
1) Oui c'est possible
2) En programmant en utilisant la norme ANSI. Tu utilise gcc pour compiler pour Unix et mingw pour compiler pour Windows.

/!\ Pour être tout a fait en ordre, tu ne peux compiler avec mingw que des programmes sous une licence compatible avec la GPL. (c à d que tu dois livrer les sources avec ton programme)


Il existe sans doute un equivalent de mingw non libre...Si besoin en est google est ton ami ;)


XbY
-----
Admin du projet PrintTemplate

lundi 23 janvier 2006 à 17:08:57 | Re : DLL C++

kharrat

ok, Si j'ai bien tout compris : 1. sous réserve d'avoir écrit du code portable, je peux faire du copier/coller depuis vi (sous UNIX) vers .NET ou Visual 6 et générer une DLL (en prenant soin de rajouter les déclarations du genre _stdcall) 2. appeler toutes mes fonctions depuis une IHM écrite en VB, voir depuis n'importe quelle appli Windows pour peut que je puisse avoir accès à ma DLL. Exacte ? +, kharrat
lundi 23 janvier 2006 à 17:45:12 | Re : DLL C++

sibi12

Réponse acceptée !
1)non ... gcc et visual studio .Net ne sont pas compatible... Il faut, sous reserve d'avoir écrit du code portable comme tu dis, que tu compiles ton code avec mingw en ligne de commande de la meme maniere que tu compile du avec gcc. Un petit exemple : [ Lien ]

Pour créer une dll il faut utiliser shared. Si tu veux j'ai un exemple de makefile sous la main je peux te le passer.


2) Exact ;)

XbY
-----
Admin du projet PrintTemplate

lundi 23 janvier 2006 à 17:55:09 | Re : DLL C++

kharrat

XbY, 1. Merci pour ton aide :) 2. un copain m'a expliqué que .NET et les exés C++ "standard" ne gèrent pas la mémoire de la même façon. .NET a ce qu'on appelle des objets managés (genre avec des ramasses miettes et d'autres trucs). Par conséquent, il m'a dit qu'il faut créer une interface entre une DLL écrite en C++ et un programme .NET pour convertir les objets en objets managés. Est-ce la raison pour laquelle tu me dis qu'il faut compilé avec mingw ? Si oui, mingw fait-il ce travail d'interface et de conversion pour le développeur ? 3. je veux bien ton makefile pour jetter un coup d'oeil dedans ! +, kharrat
lundi 23 janvier 2006 à 18:13:48 | Re : DLL C++

sibi12

Réponse acceptée !
1) de rien ;)

2) Tu peux egalement faire du code non managé avec visual studio .Net. Maintenant je ne sais pas si tu as l'intention de faire du code managé ou pas... mais sache que si tu n'en a jamais fait avant et si tu ne sais pas du tout ce que c'est tu risque d'être vite perdu... Et puis du C++ managé je trouve pas l'idée terrible. D'autant plus que pour le porter sur unix même si il existe mono ce n'est pas une mince affaire. (A moins de développer directement sur mono)

Si je te disais de compiler avec mingw c'est pour une autre raison. En fait VC++ (que ce soit le compilo de VS.Net ou pas) et gcc ne sont pas compatible. Par exemple dans VS il y a pas mal de librairie ou le .h a été enlever (c a d que tu fait #include <stdio> au lieu de #include <stdio.h> et gcc n'aime pas trop ça). Par contre mingw est un portage de gcc qui permet de faire des executable windows.


3) http://printtemplate.sf.net/hello.tar.gz. J'ai mis les source et tout dedans. make pour compiler avec gcc et make mingw pour compiler avec mingw. Il faut evidemment que mingw soit installé. Si t'es sur linux il doit sans doute être dans un package de ta distribution (apt-get install mingw32 pour ubuntu). Si t'es sur windows... je ne sais pas trop mais a mon avis le mieux est d'utiliser cygwin. Tu devra peut etre changer la variable MINGW dans le makefile.

XbY
-----
Admin du projet PrintTemplate



Cette discussion est classée dans : créer, programme, visual, dll


Répondre à ce message

Sujets en rapport avec ce message

créer une dll pour VB ou VBA [ par tnabon ] Bonjour,Je cherche à créer une dll qui soit compatible avec Visual Basic ou VBA. Quand je crée une dll en C avec visual studio il est en effet impossi Créer un dll ave Visual C++ [ par 97002285 ] Salut,Je suis en train programmer un résolveur de Systeme D'Equation Linéaire. J'ai fini. Je voudrai maintant transformer mon projet et l'intégrer dan DLL en visual c++ 6 [ par slim369 ] Salut ,   J ai programme une dll en vc++ et lorsque je l appelle avec mon programme vb il dit'can't find entry point DLLinitialise in cryptage.dll".Po utilisation de dll avec visual studio [ par vdougnac ] Bonjour, J'utilise visual studio 2003 depuis très peu de temps et je doit utiliser une dll dans mon programme ecrit en c++. Avec cette dl A quoi sert une DLL en C++? Comment la faire et l'utiliser dans un programme? (avec Visual C++) [ par ndubien ] Bonjour, Je cherche à savoir trois choses (en C++):   - <font color="#ff0 Créer une dll en C [ par Bidou ] Bonjour,Bon, avant toute chose je suis pas très fort en C (c'est pour que je pose une question de débutant).Premièrement j'aimerais savoir quel IDE ut Comment compliler avec Visual c++ [ par Loonis ] Bonjour à tous,Voila j'aurai une simple question, avec Dev c++ j'écrit mon programme, puis je clique simplement sur l'icone Compliler puis executer po Modifier dépendance entre dll et exe [ par XKaliBur ] Bonjours,Est-il possible, ou existe-il un programme, permettant de changer le nom d'une dll sans pour autant que le programme dépendant de cette dll n comment afficher les lignes de numerotations dans un programme C++ sous visual studio [ par soamie2001 ] Salut à vous,j'aimerais savoir comment afficher les lignes de numerotations dans un programme en c++ sous visual studioMerci de m'aider Intégration DLL sous VC++ [ par Quazar ] BonjourJ'ai un programme utilisant une dll que je charge dynamiquement. Je ne rencontre aucun lorsque je l'utilise.Je voudrais désormais avoir un exe


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

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

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