Язык Си в примерах/Компиляция программ

Материал из Викиучебника — открытых книг для открытого мира
Перейти к навигации Перейти к поиску

Язык Си в примерах


  1. Компиляция программ
  2. Простейшая программа «Hello World»
  3. Учимся складывать
  4. Максимум
  5. Таблица умножения
  6. ASCII-коды символов
  7. Верхний регистр
  8. Скобочки
  9. Факториал
  10. Степень числа
  11. Треугольник Паскаля
  12. Корень уравнения
  13. Система счисления
  14. Сортировка
  15. Библиотека complex
  16. Сортировка на основе qsort
  17. RPN-калькулятор
  18. RPN-калькулятор на Bison
  19. Простая грамматика
  20. Задача «Расчёт сопротивления схемы»
  21. Простая реализация конечного автомата
  22. Использование аргументов командной строки
  23. Чтение и печать без использования stdio
  24. Декодирование звукозаписи в формате ADX

Программа на языке Си — один или несколько текстовых файлов, которые также называются исходными.

Исполнить исходные файлы нельзя, их необходимо скомпилировать, т.е. создать исполняемый файл, содержащий в себе инструкции процессора и пригодный для запуска на компьютере.

Процесс преобразования исходных файлов в исполняемый называется компиляцией. Если ваша программа состоит из одного исходного файла hello.c, то для его компиляции компилятором GNU С достаточно выполнить команду:

bash$ gcc hello.c -o hello

Если не получается или будете создавать папку для проекта, то разместите её поближе к корневой пользователя /home/username/folder/hello.c и запустите команду:

[username@localhost ~]$ gcc ~/development/hello.c -o hello

В результате получится файл hello, имя которого мы указали в опции -o. Этот файл является исполняемым и его можно запускать (execute) при помощи команды:

bash$ ./hello

Пара символов ./ перед hello означает "искать исполняемый файл hello в текущей директории".

Строчка

bash$ 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 можно получить, если набрать

bash$ man gcc

или

bash$ info gcc

Ссылки[править]