Я новачок у 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
Тут ./
означає, що файл EXE знаходиться під поточним dir.
vi
, але це не має значення. Вам слід відмовитися від пропозицій конкретного редактора, кожен у будь-якому разі використовує свою власну.
g++
являє собою передню gcc
частину (колекція GNU Compiler) з деякими заздалегідь заданими макросами 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