Accueil > Forum > > > > Portabilité et environnements
Portabilité et environnements
jeudi 17 juillet 2008 à 09:34:37 |
Portabilité et environnements

mogwai93
|
Bonjour Je voudrais savoir ce qu'il en est à propos des codes "portables" : le même source qui peut fonctionner sur plusieurs environnements (Windows, Linux, ...) Est-ce qu'il est obligatoire d'installer un compilateur dans chaque environnement ou peut-on à partir d'un environnement générer l'exécutable de l'environnement de son choix ? exemple :
on est sous Windows on a codé un code sensé fonctionner sur plusieurs environnements (avec une lib existante sur plusieurs environnement) et à la compilation, on désire obtenir l'executable Linux (que l'on ne pourra tester que dans un environnement linux) Merci
|
|
jeudi 17 juillet 2008 à 10:17:57 |
Re : Portabilité et environnements

_Jonathan
|
J'ai déja vu l'inverse : sous Linux, on génère un exe pour Windows. Cela s'appelle du cross compiler (compilateur croisé). Il faut pour cela utiliser Wine. Tu as un exemple utilisant Qt ici (http://doc.qtfr.org/post/2007/04/10/Cross-Compilation-Native-dapplication-Qt-depuis-Linux). Mais tu devras installer un compilo Windows et le faire tourner avec Linux.
|
|
jeudi 17 juillet 2008 à 16:23:09 |
Re : Portabilité et environnements

rt15
|
Salut, Sous Windows, le fait que l'on retrouve toujours les mêmes fonctions dans les même dll de l'OS (CreateWindow dans user32.dll, GetCommandLineA dans kernel32.dll...) garantit la compatibilité au niveau binaire. On peut compiler sous XP et exécuter le binaire sous Vista sans trop de problèmes en général. Je me suis laissé dire que sous Linux, les binaires était moins portables que sous Windows. Je n'ai jamais trop saisi le système de librairies telles qu'elle sont utilisé sous Linux, où les .so (dll sous Linux) doivent être dans la bonne version (On m'a toujours dit qu'un exe qui veut toto.so en version 1.2 ne se satisfait pas de toto.so en version 1.3) Les infos données par la command ld font assez peur. Philosophiquement, les Linux et Unix sont plus orienté compatibilité au niveau source (Pour ce qui est du C tout du moins). Les sources en C compilent plutôt bien sur les unix, linux, mac et quelques OS propriétaires. Par contre, porter ces sources sous Windows peut poser problème du fait de l'inclusion de header absent sous Windows (signal.h, tout ce qui est communication inter process, thread...). De même, on ne peut pas (A part en regardant du côté de Wine) espérer compiler un source faisant une include de windows.h sous Linux. En gros pour faire du source portable faut se limiter aux includes des fichiers de cette page (Sans le c devant). Ce qui limite beaucoup...  Ou alors profiter d'une librairie portable (GTK/GTK+, QT, wxWidgets...) Mais faut qu'elle soit installée sur le PC cible, ou la fournir.
|
|
jeudi 17 juillet 2008 à 16:36:27 |
Re : Portabilité et environnements

rt15
|
Ah zut, je voulais dire ldd, pas ld. Ld à l'air d'être le loader.
|
|
jeudi 17 juillet 2008 à 19:03:32 |
Re : Portabilité et environnements

mogwai93
|
c'est + le côté windows / linux qui m'interesse pour le moment pour windows / windows : j'ai déjà testé à part quelques API qui ne fonctionnent pas sur 9x/Me et d'autres qui ne fonctionnent que sur Vista jusque là je n'ai pas encore rencontré de soucis  Je commence à m'intéresser à Linux, donc je voulais voir du côté de GTK ou QT (pas encore fait le choix) et je n'ai pas trop envie d'avoir plusieurs sources pour le même programme (ou au moins, le moins de différence possible) C'est surtout la portabilité des sources (plutot que du binaire) qui m'intéresse Merci pour les liens, je vais commencer à réfléchir dessus 
|
|
jeudi 17 juillet 2008 à 19:30:54 |
Re : Portabilité et environnements

_Jonathan
|
Ouais, pour Linux, il te faudra compiler ton programme pour chaque distrib... Or, supposons, et cela doit être le cas, que ton code est multi-plateforme, donc compilable sur la plupart des Unix, l'utilisateur Linuxien, utilisant son gestionnaire de paquet favori, telecharge le code source, et exécute les commandes de base, à savoir : « configure » et ensuite « make && make install ». Voili voila, monsieur Linux dispose de ton programme.
Pour ce qui est des dépendances, c'est le gestionnaire de paquet qui s'en occupe...rien à ajouter sur ce point.
Ensuite, Gtk,Qt,WxWidget,... il y en a plein. A toi de faire ton choix, mais tous ces frameworks existent sous Unix et sous Windows...Ce n'est qu'une question de langage (c ou c++ entre autres). La source sera protable...si tu codes proprement...
|
|
Cette discussion est classée dans : linux, environnement, fonctionner, portabilité, environnements
Répondre à ce message
Sujets en rapport avec ce message
Variables d'environnements [ par luhtor ]
Bonjour,Je cherche un moyen de récupérer la valeur des variables d'environnement d'un autre processus. Il y a bien les fonctions getenv et putenv, mai
Portabilité [ par Arnauti ]
Bonjour, j'ai réalisé un petit programme sur l'algorithme d'Euclide. Jusque là tout va bien. Cependant, j'ai un probleme de portabilité windows/linux
Variables d'environnement linux [ par kgonline ]
Bonjour tout le monde, Je souhaiterai savoir comment utiliser des variables d'environnement (avec setenv et getenv) pour envoyer et recevoir des info
Pour windows, les APIs mais pour LINUX c'est quoi? [ par ndubien ]
Bonjour,Je me pose une question que je pense interressante :Sachant que les APIs sont spécifiques à Windows.Quel est l'équivalent d'une API pour Linu
adsl [ par lilington ]
bonjour tout le mondeje suis dans mes premier pas linux, en faite je commence tout le temps mais me decourage vide de linux cette fois je compte y all
Morphing sous Linux [ par lamliki ]
Bonsoir.J'aimerai créer un logiciel de morphing d'image, cependant je ne sais comment y procéder ni comment commencer.J'ai opté pour GTK+, mais je che
pthread sous Linux ... Ouiiiin... [ par Defaite ]
Bonjour à tous.Je suis actuellement sous WinXP et Ubuntu 6.10 et j'utilise Code::blocks pour developper un programme multi-threads. Ce programme march
Connexion réseau à une base Access [ par Lucinda000 ]
Bonjour,Je vous expose mon problème. J'ai deux PC : un Linux et un Windows. Sur le PC windows, j'ai une base Access que je souhaite exploiter. Ne pouv
Problème sous linux [ par Etoiline ]
Je suis trop blasée : j'avais commencé un programme avec Dev c++ et il fonctionnait mais à la fac on doit le faire sous linux et là...................
completion de code avec kevelop [ par lilington ]
salut tout le mondetoujours dans ma migration progressive vers linux (fedora 5) j'ai commencer un peu avec les sockets. cependant comme avec ms visual
Livres en rapport
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|