Курс лекций - Микропроцессоры


Многофайловые программы


 В процессе написания программ обычно накапливаются подпрограммы и участки кода, которые можно использовать в нескольких программах. Эти участки кода можно копировать из программы в программу при помощи текстового редактора, в котором Вы пишете программы. Однако это может привести к некоторым неудобствам. Прежде всего, разрастается исходный текст программы, и в нём становится трудно ориентироваться при написании и редактировании программы. Кроме того, при обнаружении ошибок в отлаженном ранее участке кода или при переходе к работе с другими устройствами приходится искать включенные ранее участки кода и заменять их новыми.

Это трудоёмкая работа, которая приводит к ошибкам и, в конечном счёте, замедляет написание и отладку программ. Намного удобнее использовать хранить исходную программу в нескольких файлах, предоставляя работу по соединению этих файлов в единую программу транслятору.

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

При использовании этой директивы в исходный текст программы добавляется содержимое включаемого файла и только после этого производится трансляция исходного текста программы в объектный или исполняемый код программы. Иными словами содержимое исходного файла программы и включаемого файла объединяются препроцессором во временном файле и только после этого производится трансляция полученного временного файла. Пример использования директивы INCLUDE на языке программирования Си:

#include <stdio.h> /*Файл стандартного ввода-вывода*/ #include <reg51.h> /*Файл описания регистров специальных функций микроконтроллера*/ ... /*Остальная часть программы*/

Приведём содержимое включаемых файлов:

В результате программа-транслятор формирует временный файл следующего содержания:



а затем транслирует его в загружаемый модуль.

Точно таким же образом можно использовать включение файлов и на языке программирования ASM-51:

$include (stdio.asm) ;Файл стандартного ввода-вывода
$include (reg51.inc) ;Файл описания регистров специальных функций микроконтроллера

... ;Остальная часть программы

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

[ ]




- Начало -  - Назад -  - Вперед -