Lancement application linux ...

Signaler
Messages postés
25
Date d'inscription
mercredi 11 avril 2007
Statut
Membre
Dernière intervention
6 avril 2008
-
Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
-
bonjour a tous,

enfait voila mon probleme, je voudrait a partir d'un programme en C
pouvoir executer un fichier .exe (ou équivalent sous linux).

pour windows, la bibliothéque windows.h suffi mais pour linux je sais pas ...
si vous connaissez un solution portable je suis preneur ... ( bien que tres peu probable )
si vous connaissez un solution uniquement pour linux ... merci d'avance ...
( je n'ai aucune connaissence sous linux, donc faudra m'expliquer )

merci de m'avoir accordé un peu de votre temps
Au revoir  ...

6 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Tout d'abord, ton programme C doit être compilé en ELF pour Linux (gcc tonfichierC.c -o tonfichierC)
Donc normallement SYSTEM("/usr/bin/elprog"); devrait fonctionner !
_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Et j'ai oublié un truc :
pour faire un programme qui fonctionne sous Linux comme sous Window$, regarde par-là
_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>
Messages postés
25
Date d'inscription
mercredi 11 avril 2007
Statut
Membre
Dernière intervention
6 avril 2008

d'accord ... merci d'avoir répondu ....
ya un truc que je comprend pas : je suis sous Code::blocks et sous windows , comment pui-je compiler en "ELF" .

une fois compilé :
SYSTEM ("path\executable");

devrait marché ? ..

bon ben bonne continuation a tous ..
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
t'as pas compris ...
tu mes ça dans le prog qui appelle le tien : SYSTEM("/usr/bin/elprog");
et pour compiler en elf, suffit de compiler avec GCC sous un Linux.
_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Salut,


system est définie dans le header stdlib.h. faut donc le mettre en include.


Si ton programme fait une include de windows.h, il ne compilera jamais
sous Linux... Il faut que tu t'arrange pour n'utiliser que des routines
de la librairie standard du C (Et éventuellement de conio.h pour la
gestion de la console si tu peux pas faire autrement...).

Un site qui détail la bibli standard, et donc l'utilisation de la commande system.


Attention : le séparateur de chemins sous Windows est le \ alors que
c'est le / sous Linux. Les commandes batch/bash sont différentes (Par
exemple cls différent de clear pour effacer l'écran de la console). Il
y a pas de c: etc sous Linux, mais une racine unique /. On peut faire
de la compilation conditionnelle pour régler certains problèmes de
portabilité.

<hr size="2" width="100%" />3ème année en ecole d'ingé d'info cherche stage de 4 mois à partir du 01/04/08
Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
3
Si l'exécutable est dans un des dossier du PATH pas obligé de préciser le chemin absolu. Pour compiler du ELF sous win il faut rechercher du côté du cross-compiling.