Многофайловые программы
В процессе написания программ обычно накапливаются подпрограммы и участки кода, которые можно использовать
в нескольких программах. Эти участки кода можно копировать из программы в программу при помощи текстового
редактора, в котором Вы пишете программы. Однако это может привести к некоторым неудобствам. Прежде всего,
разрастается исходный текст программы, и в нём становится трудно ориентироваться при написании и редактировании
программы. Кроме того, при обнаружении ошибок в отлаженном ранее участке кода или при переходе к работе с другими
устройствами приходится искать включенные ранее участки кода и заменять их новыми.
Это трудоёмкая работа, которая приводит к ошибкам и, в конечном счёте, замедляет написание и отладку программ.
Намного удобнее использовать хранить исходную программу в нескольких файлах, предоставляя работу по соединению
этих файлов в единую программу транслятору.
Самым простым способом соединения нескольких файлов в одну программу является использование директивы
включения текстового файла в исходный текст программы INCLUDE.
При использовании этой директивы в исходный текст программы добавляется содержимое включаемого файла и только
после этого производится трансляция исходного текста программы в объектный или исполняемый код программы. Иными
словами содержимое исходного файла программы и включаемого файла объединяются препроцессором во временном файле
и только после этого производится трансляция полученного временного файла. Пример использования директивы INCLUDE
на языке программирования Си:
#include
<stdio.h> /*Файл стандартного ввода-вывода*/
#include
<reg51.h> /*Файл описания регистров специальных функций микроконтроллера*/
... /*Остальная часть программы*/
Приведём содержимое включаемых файлов:
В результате программа-транслятор формирует временный файл следующего содержания:
а затем транслирует его в загружаемый модуль.
Точно таким же образом можно использовать включение файлов и на языке программирования ASM-51:
$include (stdio.asm) ;Файл стандартного ввода-вывода
$include (reg51.inc) ;Файл описания регистров специальных функций микроконтроллера
... ;Остальная часть программы
Использование нескольких файлов позволяет разбить исходный текст программы на несколько независимых файлов,
каждый из которых реализует свою независимую задачу. Удобнее всего в отдельные файлы выносить подпрограммы, так
как они могут быть построены таким образом, чтобы в наименьшей степени быть связанными с основной программой.
Разбираться с короткими файлами, реализующими одну или несколько связанных между собой задач намного легче, чем
работать с одним большим файлом. Кроме того, различные участки программы могут быть написаны несколькими
программистами, которым намного легче работать со своей программой, оформленной в виде отдельного файла.
Понравился материал? Поделись с друзьями!
Литература:
- М. Рафикумазан Микропроцессоры и машинное проектирование микропроцессорных систем, пер. с англ. — М.: Мир, 1988
- Н. Вирт Систематическое программирование. Введение. М.: Мир, 1977
- Н. Вирт Алгоритмы и структуры данных. Новая версия для Оберона + CD. М.: ДМК Пресс, 2010
- М. Бен-Ари Языки программирования. Практический сравнительный анализ: М.: Мир, 2000
- Уоллес Вонг Основы программирования для "чайников" М.: Диалектика, 2007
- Микушин А.В.
Занимательно о микроконтроллерах. СПб, БХВ-Петербург, 2006.
- Микушин А.В., Сажнев А.М., Сединин В.И.
Цифровые устройства и микропроцессоры. СПб, БХВ-Петербург, 2010.
Вместе со статьей "Многофайловые программы" читают:
Подпрограммы процедуры и подпрограммы функции
http://digteh.ru/Progr/func.php
Применение комментариев
http://digteh.ru/Progr/Comment.php
Многомодульные программы
http://digteh.ru/Progr/ManyMod.php
Написание программ для микропроцессоров
http://digteh.ru/Progr/vidprogr.php
Отладка программ
http://digteh.ru/Progr/otladka.php
Автор Микушин А. В. All rights reserved. 2001 ... 2024