Построение задачи



Построение задачи

Условимся считать, что файл, содержащий объектный модуль основного текста будущей задачи, имеет имя bmpsuper.obj, а файл, содержащий объектные модули подпрограмм, имя bmpsub.obj. Для их объединения в одну задачу выполняется следующая команда:
link bmpsuper bmpsub или link bmpsuper+bmpsub

В данном случае предполагается, что файлы bmpsuper и bmpsub имеют тип obj и расположены в том же каталоге, в котором находится задача iink.exe (компоновщик). Если это не так, то указывается спецификация, позволяющая найти файлы в других каталогах.

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

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

Заключение.
При программировании на ассемблере можно использовать подпрограммы, хранящиеся либо в исходных модулях, подключаемых во время компиляции основного текста, либо в виде объектных модулей, объединяемых с главным модулем при построении задачи. Чему отдать предпочтение, решать вам.
Однако если основной модуль создается на одном из алгоритмических языков (Фортран, Паскаль, Си и пр.), то вспомогательные подпрограммы, составленные на ассемблере, должны оформляться в виде объектных модулей.
И последний совет. Постепенно у вас накопится достаточно много объектных модулей. Для упрощения собственного труда их лучше объединить в одну или несколько библиотек. В комплект поставки Макроассемблера обязательно входит библиотекарь, хранящийся в файле нь.ехе. Он выполняет много полезных функций, связанных с созданием, просмотром, пополнением и изменением библиотек объектных модулей. Библиотекарь поддерживает активный диалог с оператором, поэтому научиться работать с ним несложно.




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