Щоденники чайника

Якщо ви вже їх прочитали, то практичні відомості сприймете дуже легко.

Як можна компілювати виконувані файли для Win32?

Зрозуміло, що кожен раз з командного рядка вводити імена початкових кодів, obj-файлів і ключі - не дуже зручно.

Але цей процес легко спростити.

Припустимо, ми пишемо исходник praxZ.asm.

Нам хочеться компілювати його до тих пір, поки він нарешті-таки не запрацює, а для цього може знадобитися дуже багато спроб. Можна в командному рядку FAR'a виконати наступне:

Тепер кожен раз, коли ми будемо виконувати ml без ключів з папки з ісходником, буде виконуватися компіляція нашого прикладу. При цьому така дія поширюється тільки на поточну консоль. Тобто в іншому екземплярі FAR'a настройка діяти не буде.

Наступний крок назустріч користувачеві - командний bat-файл

Тепер досить його запустити в надії, що цього разу в исходнике помилок немає.

У нульовому витку я використовував BUILD.BAT з папки MASM32 \ bin.

Щодо універсальний спосіб. З його допомогою можна компілювати asm-файли з різними іменами (як з ресурсами так і без). На виході ми отримуємо готовий PE-exe.

Заглянемо в BUILD.BAT.

Ви не зрозуміли суть цих закорючек?

Тоді дуже уважно прочитайте ще раз Лікнеп молодого юзера.

А ті, хто зрозумів, напевно, вже помітили кілька обмежень використання цього файлу:
  • "MASM32" повинен бути встановлений в корінь і саме в папку MASM32.
  • Перед компіляцією видаляються попередні exe і obj з заданим ім'ям.
  • Якщо є файл ресурсів, то він вже повинен бути трансльований і обов'язково з ім'ям rsrc.obj.
Ну і як я вже писав:
  • Поточної папкою повинна бути папка з ісходником.
  • Файл в командному рядку вказується без розширення.
  • Розширення у исходника має бути asm.

Рекомендую вам створити хоча б ще один подібний файл для компіляції налагоджувальної версії exe.

Скопіюємо BUILD.BAT і назвемо копію, наприклад, BDBG.BAT.

Замінимо в ньому три відповідні рядки на:

Використовуючи наш BDBG. можна збирати PE-exe налагоджування.

Добре б зробити ще кілька файлів для компіляції dll і для повного складання з налагоджування. Але це ви вже самі.

Як компілювати виконувані com-файли для DOS?

Щоб компілювати такі вихідні, знадобляться:

Segmented Executable Linker (припустимо v5.31) і

ml.exe (обов'язково молодше 7-й версії).

Зі складу "MASM32 v9" підходить тільки ml.exe. А ось лінковщік доведеться брати додатковий.

Використовувати його можна приблизно з такою командним рядком:

ключ / TINY - визначає міні-моделі, тобто звичайний формат com-файлу для DOS.

Як відомо - досконалість не має меж. Продовжимо задовольняти лінь програміста.

Навіть bat-файл не дасть такого комфорту, як.

Інтегроване середовище розробки (IDE, Integrated Development Environment)

Сьогодні найпоширеніші IDE для MASM'a - це:

MS Visual Studio,

Одного разу налаштувавши IDE, в подальшому ви будете економити купу часу і сил.

Достатньо всього декількох простих дій, і каркасний проект готовий до компіляції одним кліком мишки.

Але зізнаюся чесно, хороша настройка під себе - справа не така вже й проста. Вам як мінімум доведеться зрозуміти, для чого потрібна та чи інша опція, і підключити всі корисні додатки. Хоча тепер, коли ви так багато знаєте про компіляторі MASM'a, це буде набагато простіше.