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

 WASM Phorum —› WASM.ASSEMBLER —› Может ли fasm юзать статические lib'ы?

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


Дата: Сен 10, 2004 04:05:52

Сабж..


Дата: Сен 10, 2004 22:08:33

нет


Дата: Сен 10, 2004 22:16:09

Вот!
И не нужно тогда n0p'у декларировать что fasm - рулёз..


Дата: Сен 10, 2004 23:46:35

Asterix
FASM не является линкером, вообще-то это ассемблер.

Нужно использовать статические библиотеки кода — fasm + link.exe


Дата: Сен 11, 2004 00:46:11

Что-то я не понимаю, так же как не понимаю что мне ответили здесь

Т.е. если у меня есть статическая lib'а то я должен в исходнике прописать прототипы, типа:
extrn '__imp__SomeProcA@16' as SomeProc

и сказать fasm'у чтоб он создал obj:
format MS COFF

потом использовать MS link.exe чтобы получить наконец-то исполняемый файл?


Дата: Сен 11, 2004 01:34:09

Скорее всего так (extrn - это макрос), но иногда млжно заюзать IDA и обойтись без линкера ;-)


Дата: Сен 11, 2004 01:59:05

S_T_A_S_
> но иногда млжно заюзать IDA и обойтись без линкера ;-)

Не мой случай :)
Я хотел написать плагин для IDA используя fasm(или masm), но дальше написания скелета дело пока не пошло, ибо не понятно как вызывать функции IDA API, некоторые из которых описаны как inline, например. Есть идея создать из необходимых функций lib'у при помощи C++ и потом уже юзать ее, используя fasm/masm. Хотя я уже склоняюсь к простому решению - сделать всё на C++.


Дата: Сен 11, 2004 04:37:03 · Поправил: Asterix

S_T_A_S_

Есть вопросик, как создать такой obj в fasm чтоб из множества этих obj можно было бы собрать static lib'у(при помощи link.exe)
т.е. проблема в том чтобы этот obj содержал имя(имена) используемой функции(вроде export тут делу не поможет?)


Дата: Сен 11, 2004 06:05:38

Уже нашёл, нужно было добавить
public SomeProc as '_SomeProc'


Дата: Сен 11, 2004 06:28:46

Asterix
„Хотя я уже склоняюсь к простому решению - сделать всё на C++.“
Самое правильное, IMHO, решение.


Дата: Сен 11, 2004 07:24:27

Quantum
> Самое правильное, IMHO, решение.

Вот только Си я практически не знаю, поэтому скоро буду спрашивать у тебя ;-)


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