Comment créer un prog compatible sur tous OS

Résolu
WebCreator -  
 WebCreator -
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 9917 Statut Contributeur 2 485
 
Java pour Windows/Linux. Mais par contre pour iOS c'est plus compliqué, cela dépend du bon vouloir de Apple.
1
WebCreator
 
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 9917 Statut Contributeur 2 485
 
Peux-tu donner plus de détails ? Quel est le but du programme ?
0
WebCreator
 
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 11653 Statut Contributeur 1 847
 
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
WebCreator
 
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 11653 Statut Contributeur 1 847
 
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
WebCreator
 
Merci pour ton explication et je vais jeter un coup d'oeil au Java.
a+
0