Компиляция Си-программы на IBM PC (компиляторы Microsoft С и Lattice С)

Компиляция Си-программы на IBM PC

(компиляторы Microsoft С и Lattice С)

Описанное ниже разбиение процесса компиляции программы на последовательные шаги зависит как от операционной системы, так и от самого компилятора. Конкретный пример, который мы здесь рассматриваем, — это функционирование компилятора Microsoft С под управлением операционной системы PC DOS I.I (Компилятор Lattice С, лежащий в основе версии, реализованной фирмой Microsoft, запускается по аналогичным правилам, только вместо команд mс1 и mc2 необходимо использовать команды lс1 lс2.

Так же как и прежде, мы считаем, что исходная программа содержится в файле inform.с. Наша первая команда выглядит следующим образом:

mcl inform

(Компилятор интерпретирует строку символов inform как inform.с.) Если ошибок нет, то в результате будет получен промежуточный файл с именем inform.q. Затем мы набираем на клавиатуре следующую команду:

mc2 inform

в результате выполнения которой будет создан файл с именем inform.obj, содержащий так называемый "объектный код" (код на языке машины), соответствующий нашей исходной программе. (Объяснения приведены ниже.) После этого вводится команда

link с inform

по завершении которой создается файл inform.ехе. Наша цель достигнута — получен файл, содержащий выполняемую программу. Если мы затем введем команду

inform. ехе

или просто

inform

то наша программа начнет выполняться.

РИС. 1.5. Создание Си-программы при помощи компиляторов Microsoft С и Lattice С.

На самом деле вы можете не знать, что происходит, когда вы пользуетесь вышеописанной процедурой, но, если вам интересно, мы кратко опишем выполняемые при этом действия.

Что здесь нового? Во-первых, новым является то, что вводится файле именем inform.obj. Поскольку в нем содержится машинный код, непонятно, почему мы не остановились в этом месте? Ответом может служить то, что полная программа включает в себя части, которые мы не писали. Например, мы использовали команду printf, являющуюся программой, помещенной в Си-библиотеку. Вообще говоря, может возникать необходимость использовать в программе стандартные процедуры, помещенные в различные библиотеки. Эта потребность приводит к использованию второго нового понятия — команды link.

Программа link является частью операционной системы IBM POS. Она связывает наш объектный код (находящийся в файле inform.obj) с некоторыми стандартными процедурами, содержащимися в файле c.obj, и, кроме того, осуществляет поиск требуемых объектных модулей в той библиотеке, которую мы указываем (программа link запрашивает требуемое имя во время выполнения); в данном случае это будет библиотека с именем lc.lib. Затем указанная программа объединяет все найденные модули в одну полную программу.

Программа сс, работающая под управлением ОС UNIX, во время выполнения проходит аналогичную последовательность шагов; отличие состоит только в том, что она "скрывает" этот факт от нас, уничтожая файл с объектным модулем после его использования для получения полной программы. (Но в случае необходимости в ответ на соответствующий запрос компилятор выдаст нам объектный файл под именем inform.о.)

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

1.1.2 Компиляция

Из книги C++ автора Хилл Мюррей

1.1.2 Компиляция Откуда появились выходной поток cout и код, реализующий операцию вывода ««? Для получения выполняемого кода написанная на С++ программа должна быть скомпилирована. По своей сути процесс компиляции такой же, как и для С, и в нем участвует большая часть входящих


Lattice Inc.

Из книги Генерация высококачественного кода для программ, написанных на СИ автора Хислей Филипп Н

Lattice Inc. Имеющий большую историю компилятор Lattice MS-DOS C последовательно совершенствовался с каждой новой версией. Он известен как генератор стабильного, предсказуемого кода и выполняет умеренную оптимизацию. Lattice С выполняет снижение мощности, сжатие цепочки переходов и


3.4.3. Компиляция

Из книги Fedora 8 Руководство пользователя автора Колисниченко Денис Николаевич

3.4.3. Компиляция Как правило, исходные коды программ распространяются в виде архива с "двойным расширением" -.tar.gz. Исходный код принято распаковывать в каталог /usr/src. Поэтому для распаковки архива вам нужно выполнить следующие команды:sucd /usr/srcgunzip архив.tar.gztar xvf


Патчи и программы от Microsoft

Из книги Win2K FAQ (v. 6.0) автора Шашков Алексей

Патчи и программы от Microsoft Windows 2000 Service Packhttp://www.microsoft.com/windows2000/downloads/servicepacks/default.aspВ комментариях не нуждается. На странице Microsoft можно выбрать любые из существующих на сегодня SP для W2k.High encription packhttp://www.microsoft.com/windows2000/downloads/recommended/encryption/default.aspПатч, долгое время бывший


Возможности Microsoft Outlook 2007 как почтовой программы

Из книги Office 2007. Мультимедийный курс автора Мединов Олег

Возможности Microsoft Outlook 2007 как почтовой программы Используя программу Microsoft Outlook 2007 в качестве почтового клиента, вы можете решать следующие задачи:• получение, чтение, создание, отправка и хранение электронной корреспонденции;• использование нескольких учетных записей


Использование программы Microsoft Visio для просмотра и изменения схемы базы данных

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Использование программы Microsoft Visio для просмотра и изменения схемы базы данных Помимо инструментов среды Visual Studio .NET, для создания, просмотра и изменения схем базы данных могут использоваться другие очень удобные средства. Программа Microsoft Visio обладает всеми необходимыми


1.2. Запуск программы Microsoft Word

Из книги Word 2007.Популярный самоучитель автора Краинский И

1.2. Запуск программы Microsoft Word Запустить программу Microsoft Word можно несколькими способами:• выполнить команду Пуск ? Программы ? Microsoft Office ? Microsoft Office Word 2007;• щелкнуть на ярлыке Word на панели быстрого запуска;• дважды щелкнуть на ярлыке Word на Рабочем столе. Внимание! Ярлыки на


Компиляторы для AS/400

Из книги Основы AS/400 автора Солтис Фрэнк

Компиляторы для AS/400 Ранние компиляторы (например, RPG/400 и языка управления CL) для System/38 и AS/400 генерировали команды: MI довольно прямолинейно. Хотя они и проходили уровень ассемблера, в самом компиляторе не было общей промежуточной формы. Ее роль выполняли команды MI.Модель


Глава 9 Возможности COM в Microsoft Word и Microsoft Excel

Из книги Delphi. Трюки и эффекты автора Чиртик Александр Анатольевич

Глава 9 Возможности COM в Microsoft Word и Microsoft Excel • Технология OLE• Технология COM• Использование OLE в Delphi• Управление Microsoft Word и Microsoft ExcelТехнология COM/DCOM является одной из важных и широко используемых современных технологий. Охватить все аспекты технологии COM/DCOM очень сложно, и


9.4. Управление Microsoft Word и Microsoft Excel

Из книги Программирование для карманных компьютеров автора Волков Владимир Борисович

9.4. Управление Microsoft Word и Microsoft Excel Трюки в Microsoft WordВ этом разделе мы более подробно остановимся на рассмотрении практических примеров использования СОМ-сервера редактора Microsoft Word. Достаточно популярный редактор обладает обширным набором возможностей, которые можно


Управление проектами. Файлы проекта. Компиляция и запуск программы

Из книги Язык Си - руководство для начинающих автора Прата Стивен

Управление проектами. Файлы проекта. Компиляция и запуск программы В eVB все файлы, предназначенные для создания приложения, объединяются в проект. В отличие от таких сред, как Microsoft Visual Studio или Borland Delphi, среда программирования eVB не содержит средств управления группами


Компиляция Си-программы в ОС UNIX

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

Компиляция Си-программы в ОС UNIX Компилятор с языка Си в ОС UNIX называется cc. Чтобы осуществить компиляцию нашей программы, на клавиатуре дисплея необходимо набрать только строку:cc inform.cЧерез несколько секунд интерпретатор команд ОС UNIX выдаст на экран дисплея символ


1.2. Компиляторы GCC

Из книги Операционная система UNIX автора Робачевский Андрей М.

1.2. Компиляторы GCC Компилятор превращает исходный текст программы, понятный человеку, в объектный код. исполняемый компьютером. Компиляторы, доступные в Linux-системах, являются честью коллекции GNU-компиляторов, известной как GCC (GNU Compiler Collection).[4] В нее входят компиляторы


Компиляция

Из книги Офисный компьютер для женщин автора Пастернак Евгения

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


Меню программы Microsoft Outlook

Из книги Ноутбук [секреты эффективного использования] автора Пташинский Владимир

Меню программы Microsoft Outlook Теперь вернемся к строке меню программы. Это меню собирает все команды, которые содержит программа. Например, на рис. 4.27 открыто подменю команды Создать пункта Файл. Все это вы можете создать в команде Microsoft Outlook в разных ее частях. Рис. 4.27. Все это


Некоторые клавиатурные команды программы Microsoft Outlook

Из книги автора

Некоторые клавиатурные команды программы Microsoft Outlook В Microsoft Outlook, мощной программе-органайзере (не путайте ее с почтовым клиентом Microsoft Outlook Express, включенным в состав браузера Internet Explorer), используется не очень много клавиатурных команд, однако при работе на ноутбуке они