Pregunta

¿Cómo puedo compilar / ejecutar C o C ++ en la consola Unix o en un terminal Mac?

(Lo sé, olvídalo y vuelve a aprenderlo. Es hora de escribirlo).

¿Fue útil?

Solución

Si es un programa simple de fuente única:

make foo

donde el archivo fuente es foo.c o foo.cpp, etc.

Ni siquiera necesitas un makefile. Make tiene suficientes reglas integradas para construir su archivo fuente en un ejecutable del mismo nombre, sin la extensión.

Ejecutar el ejecutable que se acaba de construir es lo mismo que ejecutar cualquier programa, pero lo más frecuente es que especifique la ruta al ejecutable, ya que el shell solo buscará lo que está en $ PATH para encontrar ejecutables. y, lo más frecuente es que no incluya el directorio actual (. ).

Así que para ejecutar el ejecutable construido foo :

./foo

Otros consejos

gcc main.cpp -o main.out  
./main.out

Este es el comando que funciona en todas las máquinas Unix ... Lo uso en Linux / Ubuntu, pero también funciona en el sistema operativo & nbsp; X. Escribe el siguiente comando en Terminal.app .

$ g++ -o lab21 iterative.cpp

-o es la letra O no cero

lab21 será su archivo ejecutable

iterative.cpp es su archivo c ++

Después de ejecutar ese comando, escriba lo siguiente en la terminal para ejecutar su programa:

$ ./lab21

Dos pasos para mí:

primero:

make foo

entonces:

./foo

Toda la ejecución de la aplicación en un entorno Unix (Linux, Mac & nbsp; OS & nbsp; X, AIX, etc.) depende de la ruta de búsqueda ejecutable.

Puede mostrar esta ruta en el terminal con este comando:

  

echo $ PATH

En Mac OS X (por defecto), esto mostrará la siguiente ruta de búsqueda separada por dos puntos:

  

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

Por lo tanto, cualquier ejecutable en los directorios enumerados puede ejecutarse simplemente escribiendo su nombre. Por ejemplo:

  

cat mytextfile.txt

Esto ejecuta / bin / cat y muestra mytextfile.txt en el terminal.

Para ejecutar cualquier otro comando que no esté en la ruta de búsqueda del ejecutable se requiere que califique la ruta al ejecutable. Así que digamos que tenía un ejecutable llamado MyProgram en mi directorio de inicio en Mac & nbsp; OS & nbsp; X, puedo calificarlo completamente así:

  

/ Users / oliver / MyProgram

Si se encuentra en una ubicación cercana al programa que desea ejecutar, puede calificar el nombre con una ruta parcial. Por ejemplo, si MyProgram estaba en el directorio / Users / oliver / MyProject Yo y yo estábamos en mi directorio de inicio, puedo calificar el nombre del ejecutable de esta manera y hacer que se ejecute :

  

MyProject / MyProgram

O diga que estaba en el directorio / Users / oliver / MyProject2 y quería ejecutar / Users / oliver / MyProject / MyProgram Puedo usar una ruta relativa como esto, para ejecutarlo:

  

../MyProject/MyProgram

Del mismo modo, si estoy en el mismo directorio que MyProgram necesito usar un " directorio actual " camino relativo. El directorio actual en el que se encuentra es el carácter de punto seguido de una barra. Por ejemplo:

  

./MyProgram

Para determinar en qué directorio se encuentra actualmente, use el comando pwd .

Si normalmente coloca programas en un lugar en su disco duro que desea ejecutar sin tener que calificar sus nombres. Por ejemplo, si tiene un " bin " directorio en su directorio de inicio para los scripts de shell de otros programas utilizados regularmente, puede ser conveniente alterar su ruta de búsqueda ejecutable.

Esto se puede hacer fácilmente creando o editando el archivo .bash_profile existente en su directorio de inicio y agregando las líneas:

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

Aquí el carácter tilde (~) se está utilizando como acceso directo para / Users / oliver. También tenga en cuenta que la línea hash bang (#!) Debe ser la primera línea del archivo (si aún no existe). Tenga en cuenta también que esta técnica requiere que su shell de inicio de sesión sea bash (el valor predeterminado en Mac & nbsp; OS & nbsp; X y la mayoría de las distribuciones de Linux). También tenga en cuenta que si desea que sus programas instalados en ~ / bin se usen con preferencia a los ejecutables del sistema, debe reordenar la declaración de exportación de la siguiente manera:

export PATH=~/bin:$PATH

Ryan, estoy cambiando esto para que sea una respuesta en lugar de un comentario, ya que parece que fui demasiado breve. Haga todo esto en " Terminal " ;.

Para usar el compilador G ++, debes hacer esto:

  1. Navegue hasta el directorio en el que almacenó el archivo * .cpp.

    cd ~ / programs / myprograms /
    (El ~ es un acceso directo para su hogar, es decir, / Usuarios / Ryan / programas / myprograms /, reemplace con la ubicación que realmente utilizó).

  2. Compilalo

    g ++ input.cpp -o output.bin (output.bin puede ser cualquier cosa con cualquier extensión, realmente. bin es común en Unix.)

    No debería devolverse NADA si tuvo éxito, y eso es bien . Generalmente obtienes devoluciones en caso de fallas.

    Sin embargo, si escribe ls , verá la lista de archivos en el mismo directorio. Por ejemplo, vería las otras carpetas, input.cpp y output.bin

  3. Desde dentro del directorio, ahora ejecútelo con ./outbut.bin

Suponiendo que el directorio actual no está en la ruta, la sintaxis es ./[nombre del programa] .

Por ejemplo ./a.out

Agregue lo siguiente para obtener las mejores advertencias, no se arrepentirá. Si puede, compile WISE (la advertencia es un error)

- Wall -pedantic -Weffc++ -Werror

Una forma compacta de hacerlo podría ser:

make foo && ./

Una forma compacta de hacerlo podría ser:

<*>

Es agradable tener una sola línea para que puedas volver a ejecutar tu ejecutable de nuevo fácilmente.

Es agradable tener una sola línea para que puedas volver a ejecutar tu ejecutable de nuevo fácilmente.

Para compilar programas C o C ++, hay un comando común:

  1. crear nombre de archivo

  2. ./filename

make construirá su archivo fuente en un archivo ejecutable con el mismo nombre. Pero si desea usar la forma estándar, puede usar el compilador gcc para compilar programas en C & amp; g ++ para c ++

Para C:

gcc filename.c

./a.out

Para C ++:

g++ filename.cpp

./a.out

Use un makefile . Incluso para proyectos muy pequeños (= un archivo), el esfuerzo probablemente valga la pena porque puede tener varios conjuntos de configuraciones del compilador para probar cosas. La depuración y la implementación funcionan mucho más fácilmente de esta manera.

Lea el make manual , parece bastante largo a primera vista, pero la mayoría de las secciones se pueden pasar por alto. En general, me tomó algunas horas y me hizo mucho más productivo.

Encontré este enlace con instrucciones:

http://www.wesg.ca/2007/11/how-to-write-and-compile-c-programs-on-mac-os-x/

Básicamente lo haces:

gcc hello.c
./a.out (or with the output file of the first command)

simplemente ingrese en el directorio en el que se encuentra su archivo c / cpp.

para compilar y ejecutar código c.

$gcc filename.c
$./a.out filename.c

para compilar y ejecutar código c ++.

$g++ filename.cpp
$./a.out filename.cpp

" $ " es el símbolo de terminal mac predeterminado

Para compilar y ejecutar un código fuente cpp desde Mac terminal, uno debe hacer lo siguiente:

  1. Si la ruta del archivo cpp es somePath / fileName.cpp, primero vaya al directorio con la ruta somePath
  2. Para compilar fileName.cpp, escriba c ++ fileName.cpp -o fileName
  3. Para ejecutar el programa, escriba ./fileName

Ejecutar un archivo .C usando el terminal es un proceso de dos pasos. El primer paso es escribir gcc en el terminal y soltar el archivo .C en el terminal, y luego presionar Enter :

username$ gcc /Desktop/test.c 

En el segundo paso, ejecute el siguiente comando:

username$ ~/a.out
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top