Компиляция с g ++
Опубликовано: 30 Декабря, 2021
Команда g ++ - это команда вызова компилятора GNU C ++, которая используется для предварительной обработки, компиляции, сборки и связывания исходного кода для создания исполняемого файла. Различные «опции» команды g ++ позволяют остановить этот процесс на промежуточном этапе.
- Проверьте информацию о версии компилятора g ++:
g ++ --version
- Скомпилируйте файл CPP для создания исполняемого целевого файла: команда g ++ file_name используется для компиляции и создания исполняемого файла a.out (целевое имя по умолчанию).
Пример: дана простая программа для вывода «Hello Geek» на стандартный вывод с именем файла hello.cpp.
CPP
// hello.cpp file #include <iostream> int main() { std::cout << "Hello Geek
" ; return 0; } |
g++ hello.cpp
Это компилирует и связывает hello.cpp для создания целевого исполняемого файла по умолчанию a.out в текущем рабочем каталоге. Чтобы запустить эту программу, введите ./a.out, где ./ представляет текущий рабочий каталог, а a.out - исполняемый целевой файл.
./a.out
- g ++ -S имя_файла используется только для компиляции имени_файла, но не для сборки или связывания. Он сгенерирует исходный файл сборки file_name.s.
Пример:
g ++ -S hello.cpp
- g ++ -c имя_файла используется только для компиляции и сборки имени_файла, но не для связывания объектного кода для создания исполняемого файла. Он сгенерирует файл объектного кода file_name.o в текущем рабочем каталоге.
Пример:
g ++ -c hello.cpp
- g ++ -o target_name имя_файла: компилирует и связывает имя_файла и генерирует исполняемый целевой файл с target_name (или a.out по умолчанию).
Пример:
g ++ -o main.exe hello.cpp
- Компилировать и связывать несколько файлов: когда используется флаг -c , он вызывает этап компиляции, который переводит исходный код в объектный код. Когда используется флаг -o, он связывает объектный код для создания исполняемого файла из file_name.o в a.out ( default) , кратные файлы могут передаваться вместе в качестве аргументов.
Пример:
CPP
// hello.cpp file #include "helloWorld.h" #include <iostream> int main() { std::cout << "Hello Geek
" ; helloWorld(); return 0; } |
CPP
// helloWorld.cpp file #include <iostream> void helloWorld() { std::cout << "Hello World
" ; } |
CPP
// helloWorld.h file void helloWorld(); |
g ++ -c helloWorld.cpp hello.cpp
- Он компилирует и создает объектный код для файлов helloWorld.cpp и hello.cpp для helloWorld.o и hello.o соответственно.
g ++ -o main.exe helloWorld.o hello.o
- Он связывает объектные коды helloWorld.o и hello.o для создания исполняемого файла main.exe.
./main.exe
- Запускает исполняемый файл main.exe
- g ++ -Wall имя_файла: печатает все предупреждающие сообщения, которые генерируются во время компиляции имя_файла .
Пример:
CPP
// hello.cpp file #include <iostream> int main() { int i; std::cout << "Hello Geek
" ; return 0; } |
g ++ -Wall hello.cpp
- Расширение файлов для файлов c ++ может быть .cpp или .c ++, .cpp широко используется, но .cpp и .c ++ точно такие же, и все вышеперечисленные функции одинаковы и для .c ++.
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .