· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› fileres в FASM

Посл.отвђт Сообщенiе


Дата: Ноя 2, 2003 09:28:06

В последней версии Fasm'а увидел макрос 'fileres'. Кто-нибудь знает как он работает?


Дата: Ноя 3, 2003 02:45:14 · Поправил: Grenader

; выдрал из resource.inc
macro fileres label,file_name
{ local data,size
label dd RVA data,size,0,0
data = $
file file_name
size = $ - data
align 4 }

Работает этот макрос элементарно - описывает ресурс, содержимое которого будет загружено из файла на этапе компиляции (например, wav файл)
Но лучше не использовать ресурсные макросы, идущие с FASM'ом - они слишком неудобны. Пораздо проще компилировать ресурсы майкросовтским rc.exe, и добавлять их в экзешник прогой brc32.exe (от Borland).


Дата: Ноя 3, 2003 19:02:55

Grenader
Неплохой совет, однако...
Я тут пишу IDE и мне нужен был способ пришить RES к FASM-у.


Дата: Ноя 4, 2003 00:31:33 · Поправил: Grenader

...однако, при таком способе есть несколько нюансов - невозможно задать имя секции отличное от ".rsrc", и размещение этой секции в PE-файле. Для сложных случаев я использую другой способ: сначала делаю DLL, состоящую только из секции с ресурсами (любо вышеописаным способом, либо с помощью нормального линкера). После этого можно со спокойной совестью выдирать из DLL готовую секцию с ресурсами:
section '.myres' resource data readable
res_offset = 800h  ; получить эти параметры просто - 
res_size   = 600h  ; например, с помощью TDUMP
file	'resources.dll':res_offset, res_size

Возможно, такой способ больше подойдет для IDE.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.051