Последовательность обработки программы на Си

Рассмотрим последовательность обработки файлов (файла) с исходным кодом на языке Си (Си++), файлов с расширением .c (.cpp) и превращения их в файл с исполняемым кодом (с расширением .exe) в операционных системах Windows. Последовательность обработки представлена на рисунке 7.

 

Препроцессор
   
   
Исходный текст, файлы с расширением .c .cpp .h  
Компилятор
   
   
Объектный код (файлы .obj)
Компоновщик (редактор связей)
Исполняемый код (файл .exe)
   
   
Обработанный препроцессором текст (.c .cpp)  

 

 


Рисунок 7 – Последовательность обработки программы на языки Си (Си++)

 

Прокомментируем данный рисунок. На входе имеем некоторые файлы (один или несколько) с исходным кодом языка Си (Си++) (обычные текстовые файла в кодировке, принятой в операционной системе), файлы могут иметь расширения .c, .cpp, .h и др. Первоначально файлы обрабатываются специальной программой, называемой препроцессор. (Как правило, препроцессор является не отдельной программой, а входит в состав другой программы – компилятор, но стадия препроцессорной подготовки обычно рассматривается отдельно от компиляции). При препроцессорной обработке выполняются директивы препроцессора, например, директива include (включение файла), из исходного текста удаляются комментарии и выполняются некоторые другие действия. В итоге получаем файлы после препроцессорной обработке условно можно считать, что это файлы с расширениями .c или .cpp (следует отметить, что эти файлы не сохраняются на диске, а существуют в оперативной памяти, поэтому граница овалов на рисунке является пунктирной). Далее файлы с обработанным препроцессором исходным кодом обрабатываются специальной программой – компилятором. После обработки компилятором, если не выявлено ошибок, создаются файлы с двоичным кодом программы, файлы с расширением .obj (так называемый, объектный код). Далее эти файлы обрабатываются специальной программой, которая называется компоновщиков (Linker) или редактором связей, в результате работы этой программы, если не будет выявлено ошибок, происходит сборка отдельных файлов объектного кода в файл исполняемого кода с расширением .exe. Кроме того, при необходимости в файл исполняемого кода вставляются двоичные коды стандартных библиотечных функций языка Си.

 








Дата добавления: 2015-08-14; просмотров: 554;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.