Я новичок в Linux. Я использую Ubuntu 11.04 и не знаю, как скомпилировать и выполнить программу C ++ в нем. Мне нужно знать команды для Компиляции и Выполнения программы на C ++ в Linux
Для компиляции вашего c++ кода используйте:
g++ foo.cpp
foo.cpp в примере - имя компилируемой программы.
В результате получится исполняемый файл в том же каталоге, который называется a. out
, который можно запустить, набрав его в терминале:
./a.out
g++ уже должен быть в вашем $PATH, так что вам не нужно явно вызывать /usr/bin/g++
, но вы можете использовать последний в любом случае.
foo.cpp
должен быть в том же каталоге, из которого вы выполняете команду. Если есть сомнения, вы можете убедиться, что находитесь в том же каталоге, набрав ls foo.cpp
или head foo.cpp
(если вам нужно проверить, что вы работаете с правильным foo
)
Как замечено в @con-f-use, компилятор обычно делает этот файл исполняемым, но если нет, то вы можете сделать это самостоятельно (поэтому команда на выполнение, ./a. out
или эквивалент, сработает):
chmod +x ./a.out
Чтобы указать имя скомпилированного выходного файла, чтобы он не назывался a.out
, используйте -o
со своей командой g++.
Например
g++ -o output foo.cpp
Это скомпилирует foo. cpp
в двоичный файл с именем -выведите
, и вы можете ввести ./output
для выполнения скомпилированного кода.
Здесь я делаю два предположения:
Самый простой способ скомпилировать программу на C++ в Ubuntu или любом другом дистрибутиве Linux, например, набрать
g++ main.cpp -o main
g++ -o main.cpp
одинаково верны.Вышеприведенные команды предполагают, что вы уже находитесь в месте расположения исходных файлов, но и исходный файл, и целевой выходной файл также могут быть указаны в качестве каталога. Например,
g++ ~/Desktop/main.cpp -o ~/Projects/main
скомпилирует исходный файл на C++, расположенный на вашем рабочем столе, и поместит исполняемый двоичный файл в папку Projects
в вашем домашнем каталоге. Чтобы запустить этот исполняемый файл, выполните ./Projects/main
.
Вот как мне нравится компилировать с g ++.
$ g ++ -W -Wall -pedantic -o имя_программы -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
g++
- это внешний интерфейс к gcc
(GNU Compiler Collection] с некоторыми предопределенными макросами c++ и различными опциями/флагами по умолчанию.
компиляция c++ кода с помощью gcc
удобна, когда g++
недоступен по ряду причин, на самом деле это просто вопрос линковки с++ библиотеки -lstdc++
и информирования gcc о том, что входной код должен рассматриваться как c++ код (либо с помощью ). Расширение C
, либо заставляя язык с -x
)
другими действительными суффиксами имени файла c++ : .cc
, .cp
, .cxx
, . cpp
, .CPP
, .c++
пример :
gcc cpp_code.C -lstdc++
заглавное расширение (.C
) важно, чтобы gcc знал, что это c++ файл.
или явное указание языка ввода :
gcc -x c++ cpp_code.txt -lstdc++
может быть чем угодно, или даже ничем
по умолчанию результат (после успешной компиляции) равен a. out
, который может быть запущен с расширением ./a.out
Вам нужен g++, так как gcc может скомпилировать cpp файл не так просто.
.
Для написания кода на Си также необходимо выучить vim или emacs.
.
Просто попробуйте это на терминале:
Введите тестовую программу и сохраните ее:
$vim hello.cc
Скомпилируйте hello.cc
с g++:
$g++ hello.cc -o hello
Выполните:
$./hello
Здесь ./
означает, что файл exe находится под текущим dir.
g++ filename.cpp
Например:
g++ One.cpp
Будет создан выходной файл с именем (например):
a.out
Если вы создадите другую программу и скомпилируете ее (например): [ 119]
g++ Two.cpp
Это также сгенерирует выходной файл с именем (например):
a.out
Это означает, что вы можете получить выходные данные только последней скомпилированной программы, если вы ее выполните. Чтобы избежать этого (например,)
g++ One.cpp -o One
, ваш выходной файл будет выглядеть следующим образом:
One
Теперь вы можете выполнить файл с указанным вами именем.