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