125 votes

Comment exécuter C / C ++ dans une console Unix / un terminal Mac?

Je le sais, l’oublie et le réapprends. Il est temps de l'écrire.

168voto

camh Points 13169

S'il s'agit d'un simple programme à source unique:

 make foo
 

où le fichier source est foo.c ou foo.cpp, etc.

Vous n'avez même pas besoin d'un fichier makefile. Make a suffisamment de règles intégrées pour construire votre fichier source dans un exécutable du même nom, moins l'extension.

103voto

Andrey Neverov Points 870
gcc main.cpp -o main.out  
./main.out

65voto

Komengem Points 1479

C'est la commande qui fonctionne sur toutes les machines Unix ... Je l'utilise sous Linux / Ubuntu mais fonctionne aussi sous OSX. Tapez la commande suivante dans Terminal.app .

 $ g++ -o lab21 iterative.cpp
 

-o est la lettre O pas zéro

lab21 sera votre fichier exécutable

iterative.cpp est votre fichier c ++

Après avoir exécuté cette commande, tapez ce qui suit dans le terminal pour exécuter votre programme:

 $ ./lab21
 

31voto

Victor Augusto Points 168

Deux étapes pour moi:

premier:

 make foo
 

puis:

 ./foo
 

15voto

orj Points 4480

L'application et l'exécution dans un Unix (Linux, MacOS X, AIX, etc) environnement dépend de l'exécutable chemin de recherche.

Vous pouvez afficher le chemin d'accès dans le terminal avec la commande:

echo $PATH

Sur MacOS X (par défaut) ce qui va afficher la suite du côlon séparés chemin de recherche de:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Si les exécutables dans les répertoires listés peut exécuter en tapant simplement leur nom. Par exemple:

chat mytextfile.txt

Cela va à l' /bin/cat et affiche mytextfile.txt pour le terminal.

Pour exécuter une autre commande qui n'est pas dans le fichier exécutable de recherche de chemin, il faut que vous vous qualifiez le chemin vers l'exécutable. Donc, dire que j'avais un exécutable appelé MyProgram dans mon répertoire home sur MacOS X, je peux parfaitement le qualifier de la sorte:

/Utilisateurs/oliver/MyProgram

Si vous êtes dans un endroit qui est près de la programme vous souhaite exécuter vous pouvez vous qualifier le nom d'une partie d'un chemin d'accès. Par exemple, si MyProgram a été dans le répertoire /Users/oliver/MyProject I et j'ai été dans mon répertoire home je peux qualifier le nom de l'exécutable de ce genre, et exécuter:

MyProject/MyProgram

Ou de dire que j'ai été dans le répertoire /Users/oliver/MyProject2 et je voulais exécuter /Users/oliver/MyProject/MyProgram je peux utiliser un chemin relatif, comme cela, pour l'exécuter:

../Monprojet/MyProgram

De même, si je suis dans le même répertoire que MyProgram j'ai besoin d'utiliser un "répertoire courant" chemin d'accès relatif. Le répertoire courant, vous vous trouvez dans la période de caractère, suivi par une barre oblique. Par exemple:

./MyProgram

Pour déterminer quel répertoire vous êtes dans l'utilisation de l' pwd commande.

Si vous êtes souvent mettre des programmes en place sur votre disque dur que vous souhaitez exécuter sans avoir à qualifier leurs noms. Par exemple, si vous avez un répertoire "bin" dans votre répertoire d'accueil de régulièrement utilisé des scripts shell d'autres programmes, si peut-être sage de modifier votre exécutable chemin de recherche.

Cela peut être fait facilement par la création ou de la modification de l'existant, .bash_profile le fichier dans votre répertoire de base et en ajoutant les lignes:

#!/bin/sh
export PATH=$PATH:~/bin

Ici, le caractère tilde (~) est utilisé comme un raccourci pour le dossier /Utilisateurs/oliver. Notez également que le hachage bang (#!) la ligne doit être la première ligne du fichier (si elle n'existe pas déjà). Notez également que cette technique nécessite que votre shell de connexion de l'être bash (par défaut sur mac os X et la plupart des distributions Linux). Notez également que si vous souhaitez que vos programmes installés dans ~/bin pour être utilisé dans des préférences de système de fichiers exécutables de votre doit réorganiser l'instruction d'exportation comme suit:

export PATH=~/bin:$PATH

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by: