Я новичок в Linux. Я использую Ubuntu 11.04 и не знаю, как скомпилировать и выполнить программу C ++ в нем. Мне нужно знать команды для компиляции и выполнения программы на C ++ в Linux.
Я новичок в 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
, и вы можете напечатать, ./output
чтобы запустить скомпилированный код.
a.out
исполняемый файл ( в данном случае). Если вы не можете сделать это, набрав: chmod +x a.out
. Когда ваша скомпилированная программа является исполняемой, вы можете запустить ее, набрав ./a.out
- точка и знак косой черты, что вы хотите ее выполнить.
Я делаю два предположения здесь:
Самый простой способ скомпилировать программу на C ++ в Ubuntu или любом другом дистрибутиве Linux - набрать
g++ main.cpp -o main
g++ -o main main.cpp
одинаково действительны.Приведенные выше команды предполагают, что вы уже находитесь в расположении исходных файлов, но и исходный файл, и целевой выходной файл также могут быть указаны в качестве каталога. Например
g++ ~/Desktop/main.cpp -o ~/Projects/main
скомпилирует исходный файл C ++, расположенный на вашем рабочем столе, и поместит исполняемый файл в Projects
папку в вашем домашнем каталоге. Чтобы запустить этот исполняемый файл, запустите ./Projects/main
.
Вот как мне нравится компилировать с 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.
Вам нужен g ++, поскольку gcc не может легко скомпилировать файл cpp.
Вы также должны изучить vim или emacs для написания кода на C.
Просто попробуйте это на своем терминале:
Введите тестовую программу и сохраните ее:
$vim hello.cc
Скомпилировать hello.cc
с g ++:
$g++ hello.cc -o hello
Выполните это:
$./hello
Здесь ./
означает, что исполняемый файл находится под текущим каталогом.
vi
, но это не важно. Вы должны отказаться от предложения конкретного редактора, каждый в любом случае использует его / ее.
g++
является интерфейсом gcc
(GNU Compiler Collection) с некоторыми предопределенными макросами c ++ и различными параметрами / флагами по умолчанию.
Компиляция кода c ++ с помощью gcc
удобна, когда g++
она недоступна по ряду причин, на самом деле это просто вопрос ссылки на библиотеку c ++ -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