Soy nuevo en Linux. Estoy usando Ubuntu 11.04 y no sé cómo compilar y ejecutar el programa C ++ en él. Necesito conocer los comandos para compilar y ejecutar un programa C ++ en Linux.
Soy nuevo en Linux. Estoy usando Ubuntu 11.04 y no sé cómo compilar y ejecutar el programa C ++ en él. Necesito conocer los comandos para compilar y ejecutar un programa C ++ en Linux.
Respuestas:
Para compilar su código c ++, use:
g++ foo.cpp
foo.cpp en el ejemplo es el nombre del programa que se compilará.
Esto producirá un ejecutable en el mismo directorio llamado a.out
que puede ejecutar escribiendo esto en su terminal:
./a.out
g ++ ya debería estar en su $ PATH, por lo que no necesita llamar /usr/bin/g++
explícitamente, pero puede usar este último en cualquier caso.
foo.cpp
debe estar en el mismo directorio desde el que ejecuta el comando. Si tiene alguna duda, puede asegurarse de estar en el mismo directorio escribiendo ls foo.cpp
o head foo.cpp
(si necesita verificar que está trabajando con el correcto foo
).
Como señaló @ con-f-use, el compilador generalmente hará que este archivo sea ejecutable, pero si no, puede hacerlo usted mismo (por lo que el comando para ejecutar, ./a.out
o equivalente, funcionará):
chmod +x ./a.out
Para especificar el nombre del archivo de salida compilado, para que no tenga nombre a.out
, úselo -o
con su comando g ++.
P.ej
g++ -o output foo.cpp
Esto se compilará foo.cpp
en el archivo binario denominado output
y puede escribir ./output
para ejecutar el código compilado.
a.out
en este caso) sea ejecutable. Si no puede hacerlo escribiendo: chmod +x a.out
. Cuando su programa compilado es ejecutable, puede ejecutarlo escribiendo ./a.out
: el punto y la indicación de barra diagonal que desea ejecutar.
Estoy haciendo dos suposiciones aquí:
La forma más sencilla de compilar un programa C ++ en Ubuntu, o cualquier otra distribución de Linux, es escribir
g++ main.cpp -o main
g++ -o main main.cpp
es igualmente válido.Los comandos anteriores suponen que ya se encuentra en la ubicación de los archivos de origen, pero tanto el archivo de origen como el archivo de salida de destino también pueden especificarse como un directorio. Por ejemplo
g++ ~/Desktop/main.cpp -o ~/Projects/main
compilará un archivo fuente C ++ ubicado en su escritorio y colocará el binario ejecutable en una Projects
carpeta en su directorio de inicio. Para ejecutar este ejecutable, ejecute ./Projects/main
.
Así es como me gusta compilar con g ++.
$g++ -W -Wall -pedantic -o programName -p sourceFile.cpp
-W: Print extra warning messages for some problems.
-Wall: Enable all the warnings about questionable code
-pedantic: Show all the warnings demanded by strict ISO compliance
-o programName: place the executable output in programName sourceFile.cpp: the
name of our source code file
-p: Generate extra code to write profile information suitable for the analysis program prof
-p: Generate extra code to write profile information suitable for the analysis program prof.
Necesita g ++, ya que es posible que gcc no compile fácilmente el archivo cpp.
También necesita aprender vim o emacs para escribir código C.
Solo intenta esto en tu terminal:
Escriba un programa de prueba y guárdelo:
$vim hello.cc
Compilar hello.cc
con g ++:
$g++ hello.cc -o hello
Ejecutalo:
$./hello
Aquí ./
significa que el archivo exe está bajo el directorio actual.
vi
, pero no importa. Debes alejarte de sugerir un editor específico, de todos modos todos usan el suyo.
g++
es una interfaz para gcc
(GNU Compiler Collection) con algunas macros de C ++ predefinidas y diferentes opciones / indicadores predeterminados.
compilar código c ++ gcc
es útil cuando g++
no está disponible por varias razones, de hecho, es solo cuestión de vincular a la biblioteca c ++ -lstdc++
e informar a gcc para tratar la entrada como código c ++ (ya sea mediante el uso de una .C
extensión o forzando el lenguaje con -x
)
otros sufijos de nombre de archivo C ++ válidas: .cc
, .cp
, .cxx
, .cpp
, .CPP
,.c++
ejemplo:
gcc cpp_code.C -lstdc++
la extensión en mayúscula ( .C
) es importante para que gcc sepa que es un archivo c ++.
o especificando explícitamente el idioma de entrada:
gcc -x c++ cpp_code.txt -lstdc++
la extensión puede ser cualquier cosa, o incluso nada
de forma predeterminada, el resultado (después de una compilación exitosa) es un a.out
archivo que se puede ejecutar con./a.out