Язык Си в примерах/Компиляция программ
- Компиляция программ
- Простейшая программа «Hello World»
- Учимся складывать
- Максимум
- Таблица умножения
- ASCII-коды символов
- Верхний регистр
- Скобочки
- Факториал
- Степень числа
- Треугольник Паскаля
- Корень уравнения
- Система счисления
- Сортировка
- Библиотека complex
- Сортировка на основе qsort
- RPN-калькулятор
- RPN-калькулятор на Bison
- Простая грамматика
- Задача «Расчёт сопротивления схемы»
- Простая реализация конечного автомата
- Использование аргументов командной строки
- Чтение и печать без использования stdio
- Декодирование звукозаписи в формате ADX
- Другие примеры
- XCC C
Программа на языке Си состоит из одного или несколько текстовых файлов, которые называются исходными.
Компьютер не способен исполнить исходные текстовые файлы — их необходимо перевести на машинный язык, то есть создать исполняемый файл, содержащий в себе инструкции процессора на машинном языке, который уже будет пригоден для запуска на компьютере.
Процесс преобразования исходных файлов в исполняемый называется компиляцией. Если программа состоит из одного исходного файла hello.c
, то для его компиляции компилятором GNU С достаточно выполнить команду (здесь и далее $
— подсказка интерпретатора командной строки):
$ gcc hello.c
Поскольку мы явно не указали имени для скомпилированного файла, по умолчанию он будет называться a.out
. Чтобы указать имя явно, используется опция -o
("имя выходного файла"):
$ gcc hello.c -o hello
В результате будет сгенерирован файл hello
. Этот файл является исполняемым и его можно запускать (execute) при помощи команды:
$ ./hello
Символов ./
перед hello
говорят интерпретатору командной строки: "исполняемый файл hello
следует искать в текущей директории".
Строчка
$ gcc xxx.c yyy.c -o zzz -I./common -I.. -lm
соответствует команде: "скомпилировать файлы xxx.c
и yyy.c
исполняемый файл с именем zzz
; заголовочные файлы находятся в директориях ./common
и ..
; следует также подключить библиотеку libm
"
Библиотека libm (подключаемая с помощью опции -lm
) содержит откомпилированные математические функции, которые объявляются в заголовочном файле math.h
. Если вы используете функции из этой библиотеки (такие как log
, sin
, cos
, exp
), то не забывайте подключать её при компиляции.
Подробную информацию об опциях компилятора gcc можно получить, если набрать
$ man gcc
или
$ info gcc
Ссылки
[править]- http://digteh.ru/MCS51/C51/c51.php - Язык программирования СИ для микроконтроллеров
- http://www.christian-heffner.de - Бесплатная среда разработки для windows со встроенным компилятором