GCC — это сокращение от GNU Compiler Collection, компилятора C для Linux.
Синтаксис GCC
$ gcc [options] [source files] [object files] [-o output file]
Параметры GCC
Основные параметры GCC:
gcc -c | компилировать исходные файлы в объектные файлы без связывания |
gcc -Dname[=value] | определить макрос препроцессора |
gcc -fPIC | генерировать независимый от позиции код для разделяемых библиотек |
gcc -glevel | генерировать отладочную информацию для использования GDB |
gcc -Idir | добавить каталог включения файлов заголовков |
gcc -llib | ссылка на файл библиотеки |
gcc -Ldir | поищите в каталоге файлы библиотеки |
gcc -o output file | записать вывод сборки в выходной файл |
gcc -Olevel | оптимизировать размер кода и время выполнения |
gcc -shared | создать файл общих объектов для общей библиотеки |
gcc -Uname | отменить определение макроса препроцессора |
gcc -w | отключить все предупреждающие сообщения |
gcc -Wall | включить все предупреждающие сообщения |
gcc -Wextra | включить дополнительные предупреждающие сообщения |
Работа с компилятором GCC C++ в Linux.
Примеры GCC
Скомпилируйте file1.c и file2.c и создайте ссылку на выходной файл execfile :
$ gcc file1.c file2.c -o execfile
Запустить выходной файл execfile :
Скомпилируйте file1.c и file2.c без связывания:
$ gcc -c file1.c file2.c
Скомпилируйте myfile.c с отладочной информацией и ссылкой на выходной файл execfile :
$ gcc -g myfile.c -o execfile
Скомпилируйте myfile.c с включенными предупреждающими сообщениями и сделайте ссылку на выходной файл execfile :
$ gcc -Wall myfile.c -o execfile
Скомпилируйте myfile.c и свяжите со статической библиотекой libmath.a, расположенной в / user / local / math, для вывода файла execfile :
$ gcc -static myfile.c -L/user/local/math -lmath -o execfile
Скомпилируйте myfile.c с оптимизацией и сделайте ссылку на выходной файл execfile :
$ gcc -O myfile.c -o execfile
Источник: www.rapidtables.org
Как скомпилировать программу в linux gcc
Рассмотрим создание первой программы на Linux, в частности, в среде Ubuntu. Как правило, многие дистрибутивы Linux, в том числе и Ubuntu, уже по умолчанию содержат установленный компилятор gcc, который мы сразу же можем использовать. Но даже если вдруг он не установлен, то его можно доустановить в терминале через команду:
sudo apt-get install gcc
В остальном, если мы будем использовать для компиляции компилятор GCC, все будет аналогично созданию программы на Windows.
Компиляция кода на Си с помощью gcc на Linux Mint 20
Определим в файловой системе каталог для исходных файлов с кодом на Си и создадим в нем новый файл hello.c со следующим кодом:
#include // подключаем заголовочный файл stdio.h int main(void) // определяем функцию main < // начало функции printf(«Hello World! n»); // выводим строку на консоль return 0; // выходим из функции >// конец функции
И это тот же код, что был в случае с Windows, потому что программы на Си на уровне исходного кода в большей степени обладают переносимостью.
Чтобы вывести строку на консоль, необходимо подключить подключает заголовочный файл stdio.h с помощью директивы include.
#include
Этот заголовочный файл содержит определение функции printf, которая нужна для вывода строки на консоль.
Далее идет определение функции int main(void) — главной функции, которая должна присутствовать в любой программе на Си. С нее собственно и начинается выполнение приложения.
Ключевое слово int в определении функции int main(void) говорит о том, что функция возвращает целое число. А слово void в скобках указывает, что функция не принимает параметров. А все содержимое функции заключается в фигурные скобки.
В самой функции происходит вывод строки на консоль с помощью функции printf, в которую передается выводимая строка «Hello world!».
В конце осуществляем выход из функции с помощью оператора return . Так как функция должна возвращать целое число, то после return указывается число 0. Ноль используется в качестве индикатора успешного завершения программы.
Перейдем к терминалу и вначале с помощью команды cd перейдем к каталогу, где расположен файл с исходным кодом.
Далее для компиляции программы введем команду
gcc hello.c
В итоге в папке с файлом hello.c появился скомпилированный файл, который по умолчанию называется a.out . Запустим его с помощью следующей команды:
./a.out
И на консоль будет выведена сакральная строка «Hello World!».
Источник: metanit.com
Как скомпилировать программу C, используя компилятор GNU Compiler (GCC)
1-02-2017, 12:00
C Programming Languages
4 736
Когда вы пишете программу, она ничего не делает, пока ее не скомпилировать. Многие начинающие программисты используют графические среды разработки, такие как Microsoft Visual Studio, чтобы написать и подготовить свой код, но если вам сказали использовать машину Unix, вы не сможете использовать этот пакет программ.
GCC является компилятором для C, C++, Java, FORTAN и другого программного кода, который может использоваться на машинах Unix, GNU/Linux. Распространяется как Free Software (бесплатное программное обеспечение) согласно лицензии GNU General Public License (GNU GPL). Будет полезно знать, как выполнить, по крайней мере, простую компиляцию с помощью этого компилятора.
Это руководство предполагает, что читатель имеет базовые знания в области использования Unix, GNU/Linux из командной строки. Примечание для читателя: Мы решили написать эту статью, потому что считаем, что это ценная информация для начинающих инженеров программного обеспечения. Начинающие инженеры-компьютерщики, желающие работать с Unix и кодированием, подчас имеют опыт работы только в разработке ОС Windows и не знакомы с инструментами Unix для компиляции приложений. Надеемся, что эта статья пригодится и студентам.
Шаги
- Для того чтобы увидеть, есть ли у вас компилятор GNU C/C++, установленный в вашей системе
- Type/Copy/Paste: gcc —version
- Следует уведомить вас о номере версии компилятора. Если команда не найдена, вполне вероятно, что gcc/g++ не установлен.
Убедитесь, что gcc/g++установлен на вашей системе, обратитившись к документации по дистрибутиву Unix или GNU/Linux для соответствующего способа установки. Если вы используете Microsoft Windows, смотрите следующий метод установки, который используется для установки компилятора MinGW GNU C/C++ для Microsoft Windows.
- Type/Copy/Paste: mkdir CCPP
- Type/Copy/Paste: cd CCPP
Используйте текстовый редактор, например Nano, Gedit, Vi, Notepad (в Microsoft Windows ).
- Type/Copy/Paste: nano main.c
- Type/Copy/Paste: gedit main.c
- Type/Copy/Paste: vi main.c
- Type/Copy/Paste: notepad main.c
- Вы можете использовать Notepad в качестве текстового редактора в Microsoft Windows
- Type/Copy/Paste:
Советы
- Построение кода с флагом -g будет создавать отладочную информацию, которую соответствующая программа отладчик (GDB) может использовать для лучшей работы отладки.
- При компиляции программы C++ program, используйте g++ таким же образом, как должны использовать GCC. Помните, что файлы C + + имеют расширение .cpp вместо .c!
- Набор инструкций для программы (Makefiles) ) может быть создан, чтобы облегчить компиляцию больших программ.
- Если вы используете оптимизацию с трудом, знайте, что оптимизация скорости может являться компромиссом в плане размера, а иногда и точности, и наоборот.
- Флаги могут быть добавлены к GCC командам, чтобы добавить оптимизации.
- Используйте руководство по программе, чтобы получить полезную информацию о синтаксисе при использовании GCC. Вы можете ввести ‘man gcc’, чтобы получить доступ к этому.
- После того как вы привыкли использовать GCC, он может стать быстрым инструментом для ускорения развития.
Предупреждения
- Так как GCC является лишь компилятором для кода, вы не можете использовать его для редактирования/изменения кода. Это требует любое количество текстовых редакторов. Некоторые популярные из них Emacs, gedit and kwrite. Vi (или Vim) является фундаментальным редактором, который есть на многих компьютерах (предварительно установлен на компьютерах Mac и большинстве системах Linux) и, безусловно, стоит свеч, чтобы узнать, довольно ли часто вы используете терминал.
- Опция -ffast-math, пока проистекает в быстром коде, может привести к непредсказуемости. Если у вас возникли проблемы при использовании этой опции, отключите ее.
Что вам понадобится
- ПК, работающий под управлением Unix или GNU/Linux (или Windows с Cygwin или установленным MingGW )
- Базовые знания GNU/Linux и установленные приложения
- Программный код
- Форма текстового редактора (Emacs или Vi)
Источник: vripmaster.com