Une application Linux sous Windows ???

Fermé
Aurélien - 25 mars 2005 à 16:58
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 29 mars 2005 à 12:02
Bonjour,

Je ne suis pas spécialiste des OS et j'aurai besoin d'aide.

Pour mon stage je dois chercher des solutions pour faire tourner en local une application linux sous windows. C'est-à-dire non pas à distance comme avec des serveurs X tels que Exceed ou Cygwin mais en local sur windows.

Partant du principe qu'une machine utilisant Windows ou linux possède le même processeur, une application compilée en langage machine (assembleur) pourrait très bien s'exécuter sur Windows et sur linux.

Je fais peut-être fausse route...

Si vous avez des idées, des solutions ou des explications, n'hésitez pas !!!

Par avance merci

Aurélien
A voir également:

4 réponses

epinard Messages postés 198 Date d'inscription mardi 7 décembre 2004 Statut Membre Dernière intervention 5 mars 2006 27
25 mars 2005 à 19:23
Beaucoup d'applications GNU ou libres sont compilées pour windows.

Mais une application Linux veux dire pour moi une application compilée pour un OS linux. Comme il n'est déjà pas évident de faire tourner une application compilée pour Linux sur un Solaris ou un HPUX, la faire tourner sur Windows nécessite un bon emulateur.

Cgiwin est un émulateur de l'OS (et aussi du materiel, je crois). Ce n'est pas un juste un serveur X.
Microsoft vend un truc qui s'appelle Service for Unix mais je ne sais pas ce que ça sait emuler.

Je ne sais pas exactement ce que l'on veut te faire faire. Alors j'ai du mal à te donner une bonne piste.
0
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
25 mars 2005 à 19:44
salut, pourqoi pas faire du cross compiling?
0
Oui! j'ai entendu parler du cross compiling mais d'apres ce que j'ai pu lire c'est difficile à mettre en oeuvre. Je cherchais une solution plus evidente mais je crois que je vais devoir m'y metter :-(

Pour répondre à Epinard, l'application que je dois faire tourner sous windows et une application specifique, développée et compilée sous linux...
Mais je vais mieux me renseigner pour Cigwin.

Si vous avez des info sur le cross compiling ou d'autre technologie, n'hesitez pas...
0
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
29 mars 2005 à 12:02
Salut Aurélien,

Tu n'indiques pas en quel langage ton application Linux est développée. Je suppose que c'est du C ou C++.

Pour compléter ce qui a été dit, Cygwin est un ensemble d'applications et de librairies GNU qui ont été portées sous Windows.

Sauf erreur, pour moi, ce n'est pas vraiment un émulateur (même si celà y ressemble), car Cygwin ne sert pas à faire tourner des binaires compilés pour Linux sous Windows. Les applications qui tournent avec Cygwin sont des applications Windows.

Tu disposes en revanche dans l'environnement Cygwin du compilateur GCC (et de la plupart des outils GNU) et le code source disponible pour des applications Linux peut souvent être compilé sous Cygwin, avec plus ou moins de bonheur, pour produire un code exécutable Windows.

Il faut la plupart du temps "mettre la main à la pâte", sauf si ton application est assez simple et ne fonctionne qu'en mode terminal. Si ton application utilise GTK, celle-ci a été portée sous Cygwin et tu pourras aussi réutiliser ce code (d'autres librairies graphiques ont également été portées).

Si tu disposes du code source de ton application sous Linux, Cygwin te sera très utile et c'est donc avec Cygwin que tu pourras opérer ton "cross-compiling" le plus facilement.

Partant du principe qu'une machine utilisant Windows ou linux possède le même processeur, une application compilée en langage machine (assembleur) pourrait très bien s'exécuter sur Windows et sur linux.

Non, malheureusement. Car l'assembleur ne dialogue pas directement avec la machine (ou rarement), il passe encore par le système d'exploitation (les interruptions).

Même si les instructions du microprocesseur sont les mêmes, l'assembleur utilise des interruptions différentes pour dialoguer avec le système d'exploitation, il n'y a pas que le numéro d'interruption qui peut changer, pour chaque appel la structure de stockage des données dans les registres ou la pile, peut être différente, etc.

Pour lancer un exécutable Linux sous Windows, il te faut un émulateur. Je ne connais pas de solution simple pour émuler Linux sous Windows. Tu peux voir du côté de VMware ou de logiciels similaires, qui te permettent d'installer Linux sur une machine virtuelle sous Windows et de faire tourner tes applications Linux de façon transparente (en principe).


Dal
0