Как мне скомпилировать более одного файла.asm с помощью fasm в один вывод?
Я хочу собрать несколько сборочных файлов в FAMM. У меня есть некоторые инструкции в одном файле и другие инструкции в другом файле. Как связать эти файлы с двоичным выходом?
И могу ли я использовать extern в этом случае? Или это незаконная команда?
2 ответа
Я хочу собрать несколько сборочных файлов в FAMM.
Таким образом, у вас есть несколько исходных файлов.ASM.
- Выберите один из ваших исходных файлов в качестве основного исходного файла.
- Вставьте в него
include
директива препроцессора для каждого дополнительного исходного файла, который вы хотите в вашем двоичном выходном файле. - Собрать. Никакого компоновщика не требуется, FASM делает все это.
Пример с 3 исходными файлами
; Main source is 'source1.asm'
include 'source2.asm'
include 'source3.asm'
...
Я обычно создаю включаемый файл (очень похожий на заголовок для моего приложения) и просто включаю этот файл, в котором перечислены все файлы, которые должны быть "включены".
include 'includes.inc'
В таком случае в include.inc будут все соответствующие включения, перечисленные для структуры "стиль проекта".
Это альтернативный подход к тому, что утверждает Фифоерник (это правильно).
Мне также нравится экстернализировать сегменты данных (особенно при разработке для Windows) в vars.inc (разрешения на чтение и запись, без выполнения) и const.inc (только для чтения без разрешения на запись или выполнение). Что-то еще, чтобы обдумать примечание стороны.