Я новичок в 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