Comment créer un prog compatible sur tous OS

Résolu/Fermé
WebCreator - Modifié par WebCreator le 16/06/2012 à 12:43
 WebCreator - 16 juin 2012 à 23:59
Bonjour,

Je voudrais créer un programme compatible sur tous les système d'exploitation (Windows xp, Windows Vista, Windows 7, IOS, Linux, ...).
J'ai déjà les bases en C et même plus, je suis se qu'on pourrait qualifier d'un débutant avancé.

Merci

PS: Désolé pour les faut d'Orthographe, c'est le seule langage que je n'arrive pas a assimiler.
A voir également:

2 réponses

dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 483
16 juin 2012 à 13:44
Java pour Windows/Linux. Mais par contre pour iOS c'est plus compliqué, cela dépend du bon vouloir de Apple.
1
Merci dsy73 mais j'aimerais savoir si c'est possible en C. Et je ne connais pas très bien Apple donc d'après ce que tu me dit ça risque d'être compliqué alors je verrais si sa vaut le coup.
0
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 483
16 juin 2012 à 15:46
Peux-tu donner plus de détails ? Quel est le but du programme ?
0
Le but de mon programme est savoir dans quel environnement il est et d'adapter ses fonction en fonction de cela. Car j'avais fait un programme sur Visual C++ mais dés que je l'ais lancé l'exécutable sur un autre ordinateur il m'a dit que le programme n'était pas compatible avec Windows XP. (Je travail sur Windows Vista)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
16 juin 2012 à 16:05
Bonjour,

En C, l'exécutable ne pourra pas fonctionner sur les différents OS.
En revanche, le source sera recompilable et devra être recompilé sur chacun des OS (en respectant bien sûr les standards).
0
Ok mais si je compile la source sur tous les OS alors j'aurais plusieurs exécutable. Il y a pas moyen d'en avoir un, les fusionner par exemple?

Merci encore!
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
16 juin 2012 à 18:37
Pas en C.
Un peu de théorie pour que vous comprenez le pourquoi.
Un exécutable n'est pas un fichier normé. Il est propre à chaque système. Sur Windows par exemple, il respecte la structure PE. Sur Linux, il s'agit d'un fichier ELF, etc.
Dans tous les cas, il te faudra une routine qui marche sur tous les OS pour savoir quel binaire appeler. Mais pour la routine c'est la même histoire, il faut que ça marche sur n'importe quel OS et donc il te faut une autre routine pour savoir laquelle appeler. Bref, impossible.
Ou alors, peut-être en jouant avec les émulations d'OS genre wine, etc. Mais succès pas forcément garanti.
Ou alors en Java comme dit par dsy73.
0
Merci pour ton explication et je vais jeter un coup d'oeil au Java.
a+
0