Как запустить программу на си

В этом документе мы увидим, как мы можем скомпилировать и выполнить программу на C в Linux и Windows. Документ также содержит список доступных компиляторов Си.

Компилятор gcc для программирования на языке Си: запуск кода

Компилятор gcc распространяется по лицензии GNU, Фондом свободного программного обеспечения, для nix-подобных ОС и является CC++ компилятором, который управляется с помощью командной строки. gcc распространяется с nix системами, так что если вы работаете в ОС Unix или Linux, скорее всего в вашей системе уже установлен gcc.
Чтобы запустить исходный код, с помощью компилятора gcc, просто введите в терминале (командной строке) следующую команду:

gcc filename

После того, как исходный файл будет скомпилирован в исполняемый, на выходе мы получим файл с именем a и расширением *.out — a.out , который можно будет запустить с помощью команды

Перед запуском gcc можно указать в командной строке имя исполняемого файла, который получим на выходе. Для этого необходимо установить параметр -o и присвоить нужное имя файла.

TCC_00_02 Компиляция программы на языке Си из командной строки. Переменная окружения path в cmd

-o outputfile

Полностью команда будет выглядеть так:

gcc filename -o outputfile

Опять же, вы можете запустить программу с помощью команды ./outputfile . (Точка и слэш ./ перед именем файла используются для указания текущего каталога.)

Чтобы отображались все предупреждения, необходимо использовать флаг:

Чтобы быть уверенными, что компилятор действительно поддерживает стандарты ANSI, используем флаг:

Если вы хотите, чтобы компилятор рассматривал предупреждения как ошибки, используйте флаг -Werror . В таком случае, если возникнет хотя бы одно предупреждение, вы не получите исполняемый файл.

Читайте также:
Программа очистки кишечника в домашних условиях

Если вы хотите, отлаживать исполняемый файл в отладчике GDB, включайте в команду флаг -g .

gcc filename -g -o outputfile

Это позволит отладчику GDB, дать вам подробную информацию о процессе отладки, в том числе дополнительный код в исполняемый файл.

Математическая библиотека

Если вам нужно использовать функции из математической библиотеки (как правило, функции из заголовочного файла math.h , таких как sin или sqrt ), необходимо явно указать этот файл. Чтобы привязать библиотеку используется флаг -l , после указывается флаг библиотеки m :

gcc filename -o outputfile -lm

Обратите внимание, что в C++ не надо использовать этот флаг.
Если вы используете *nix-подобные системы, вы также можете проверить другие опции компилятора gcc, введя в командную строку следующую команду:

руководство (на английском) к компилятору gcc, или

руководство (на русском) к компилятору gcc.

Создание разделяемых библиотек

Если вы хотите узнать, как создать разделяемую библиотеку в Linux с gcc, прочитайте статью: как создать разделяемую библиотеку на Linux с помощью gcc.

Источник: cppstudio.com

Урок 1: Компиляция и запуск простейшей программы на языке Си.

Первая программа на Си

Текст программы, написанный на каком-то языке программирования, например на С, называется исходным кодом. Исходный код пишется в текстовом редакторе и сохраняется с нужным расширением.Обычно файлы, написанные на языке С, имеют расширение.c.

Для запуска программы на языке С сначала необходимо перевести ее из текстовой формы, понятной человеку, в форму, понятную машине.

Последовательность символов, понятная машине, называется машинным или исполняемым кодом. Например, файл с расширением.exe представляет собой исполняемый код.

Программа, которая осуществляет перевод из исходного в исполняемый код, называется компилятором.

Первая программа на Си

Единственный способ выучить новый язык программирования — это писать на нем программы. При изучении любого языка первой, как правило, предлагают написать приблизительно следующую программу:

Читайте также:
Программа для аппроксимации функции

Напечатать слова Hello, world!

Си-программа, печатающая «Здравствуй, мир!», выглядит так:

printf («Hello, world!n»);

Программа на Си, каких бы размеров она ни была, состоит из функций и переменных. Функции содержат инструкции, описывающие вычисления, которые необходимо выполнить, а переменные хранят значения, используемые в процессе этих вычислений. Функции в Си похожи на подпрограммы и функции Фортрана или на процедуры и функции Паскаля. Приведенная программа — это функция с именем main. Обычно вы вольны придумывать любые имена для своих функций, но «main» — особое имя: любая программа начинает свои вычисления с первой инструкции функции main.

Обычно main для выполнения своей работы пользуется услугами других функций; одни из них пишутся самим программистом, а другие берутся готовыми из имеющихся в его распоряжении библиотек. Первая строка программы:

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

Один из способов передачи данных между функциями состоит в том, что функция при обращении к другой функции передает ей список значений, называемых аргументами. Этот список берется в скобки и помещается после имени функции. В нашем примере main определена как функция, которая не ждет никаких аргументов, что отмечено пустым списком ().

Инструкции функции заключаются в фигурные скобки <>. Функция main содержит только одну инструкцию

printf («Hello, world!n»);

Функция вызывается по имени, после которого, в скобках, указывается список аргументов. Таким образом, приведенная выше строка — это вызов функции printf с аргументом «Hello, world!n». Функция printf — это библиотечная функция, которая в данном случае напечатает последовательность символов, заключенную в двойные кавычки.

В Си комбинация n внутри строки символов обозначает символ новой строки и при печати вызывает переход к левому краю следующей строки. Если вы удалите n (стоит поэкспериментировать), то обнаружите, что, закончив печать, машина не переходит на новую строку. Символ новой строки в текстовый аргумент printf следует включать явным образом. Если вы попробуете выполнить, например,

Читайте также:
Когда пишется программа и методика испытаний

printf («Hello, world!

компилятор выдаст сообщение об ошибке.

#include Включение информации о стандартной библиотеке.
main() Определение функции с именем main, не получающей никаких аргументов.
Инструкции main заключаются в фигурные скобки.
printf («Hello world!n»); Функция main вызывает библиотечную функцию printf для печати заданной последовательности символов; n — символ новой строки.
>

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Источник: studopedia.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru