Что такое команда для компиляции и запуска программ на C ++?

Я новичок в Linux. Я использую Ubuntu 11.04 и не знаю, как скомпилировать и выполнить программу C ++ в нем. Мне нужно знать команды для Компиляции и Выполнения программы на C ++ в Linux

110
задан 14 September 2011 в 20:28

6 ответов

Для компиляции вашего 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 для выполнения скомпилированного кода.

132
ответ дан 14 September 2011 в 20:28

Здесь я делаю два предположения:

  1. У вас уже есть готовый к сборке исходный файл/программа на C++
  2. Вы установили систему сборки на вашем компьютере

Самый простой способ скомпилировать программу на C++ в Ubuntu или любом другом дистрибутиве Linux, например, набрать

g++ main.cpp -o main
  • g++ - это обращение к компоненту C++ GCC, компилятору де-факто для C/C++ и целому ряду других языков на платформе Linux. В настоящее время это единственный компилятор, способный компилировать ядро Linux.
  • main.cpp - это c++ исходный файл, который вы хотите скомпилировать.
  • -o main указывает имя выходного файла, который вы хотите создать после компиляции исходного текста. Целевой исходный файл и целевой выходной файл могут быть инвертированы при желании, поэтому g++ -o main.cpp одинаково верны.
  • Чтобы затем выполнить эту программу, необходимо сделать ./main в терминале.

Вышеприведенные команды предполагают, что вы уже находитесь в месте расположения исходных файлов, но и исходный файл, и целевой выходной файл также могут быть указаны в качестве каталога. Например,

g++ ~/Desktop/main.cpp -o ~/Projects/main

скомпилирует исходный файл на C++, расположенный на вашем рабочем столе, и поместит исполняемый двоичный файл в папку Projects в вашем домашнем каталоге. Чтобы запустить этот исполняемый файл, выполните ./Projects/main.

22
ответ дан 14 September 2011 в 20:28

Вот как мне нравится компилировать с 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
6
ответ дан 14 September 2011 в 20:28

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

1
ответ дан 14 September 2011 в 20:28

Вам нужен g++, так как gcc может скомпилировать cpp файл не так просто.
. Для написания кода на Си также необходимо выучить vim или emacs.
. Просто попробуйте это на терминале:

Введите тестовую программу и сохраните ее:

$vim hello.cc

Скомпилируйте hello.cc с g++:

$g++ hello.cc -o hello

Выполните:

$./hello

Здесь ./ означает, что файл exe находится под текущим dir.

1
ответ дан 14 September 2011 в 20:28
g++ filename.cpp 

Например:

g++ One.cpp

Будет создан выходной файл с именем (например):

a.out

Если вы создадите другую программу и скомпилируете ее (например): [ 119]

g++ Two.cpp

Это также сгенерирует выходной файл с именем (например):

a.out

Это означает, что вы можете получить выходные данные только последней скомпилированной программы, если вы ее выполните. Чтобы избежать этого (например,)

g++ One.cpp -o One 

, ваш выходной файл будет выглядеть следующим образом:

One

Теперь вы можете выполнить файл с указанным вами именем.

0
ответ дан 14 September 2011 в 20:28

Другие вопросы по тегам:

Похожие вопросы: