.idata
library kernel,'KERNEL32.DLL',\
user,'USER32.DLL',\
gdi,'GDI32.DLL'
import kernel,\
GetModuleHandle,'GetModuleHandleA',\
ExitProcess,'ExitProcess'
import user,\
RegisterClass,'RegisterClassA',\
CreateWindowEx,'CreateWindowExA',\
DefWindowProc,'DefWindowProcA',\
SetWindowLong,'SetWindowLongA',\
RedrawWindow,'RedrawWindow',\
GetMessage,'GetMessageA',\
TranslateMessage,'TranslateMessage',\
DispatchMessage,'DispatchMessageA',\
SendMessage,'SendMessageA',\
LoadCursor,'LoadCursorA',\
LoadIcon,'LoadIconA',\
LoadMenu,'LoadMenuA',\
GetClientRect,'GetClientRect',\
MoveWindow,'MoveWindow',\
SetFocus,'SetFocus',\
MessageBox,'MessageBoxA',\
PostQuitMessage,'PostQuitMessage'
import gdi,\
CreateFont,'CreateFontA',\
DeleteObject,'DeleteObject'
линковка без либы
SwitchToThisWindow,hWnd (хэндл окна),Restore (развернуть окно,если оно минимизировано;т.е. указываем тру или фалсе);
пишу на МАСМ32, хочу использовать эту функцию, но в инклудах и либах для МАСМа она не предусмотрена.
Если недопонимание с инклудами решается просто - объявлением прототипа, то как обойти либы не знаю - линковщик ругается.
Подскажите как слинковать.
Просьба не предлагать другой способ решения - мне интересно, как можно обходится без либ или как можно создать свои. Это не срочно, время потерпит.
Спасибо за внимание.
Ну я незнаю как это делаетса в масме, но ты можешь в .idata сделать импорт нужной тебе ф-и... в фасме это выглядит приблизительно так:
Смотри утилиту IMPLIB32, должна входить.... Покрайней мере в VS есть...
Чё за утилита? и для чего она подскажи плз... и я походу не то написал?
А утилита создает библиотеку импорта на основе длл, указываешь путь к которой.
Цитата: HexEdit
То, но это для фасма.
А утилита создает библиотеку импорта на основе длл, указываешь путь к которой.
А утилита создает библиотеку импорта на основе длл, указываешь путь к которой.
ясн, пасиб... но у масма тоже должен быть импорт как у фасма... или как?
Вобщем вот нашел небольшую статайку, там написано про это...
http://lvm.converters.ru/93/ru/article_3.html
В VS - impdef, но вроде implib тоже была.... Наверное память отшибло :)
Сам чаще пишу на фасме ;)
Цитата: Monarhia
у масма тоже должен быть импорт как у фасма... или как?
Нет - там либы
А насчёт масма ты роскажи "un_named" ответ... ато чё мы заговорились не в тему))
ясн... ну считаем ответили)) Вернее ты ответил...
Ну вот цитата оттуда (на главное)
Цитата:
Как импортировать функции dll Borland в MS Visual studio 6.0?
1 Создаем def файл
Пример:
impdef ParseAddr.def ParseAddr.dll
2 При необходимости из def файла удаляем лишние функции и знаки '_'
3 Создаем lib файл при помощи утилиты lib.exe
Если пути не проставлены ее можно найти в "C:\Program Files\Microsoft Visual Studio\VC98\Bin"
Кстати, потребуется также файл MSPDB60.DLL ("C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin")
Пример:
LIB.exe /def:F:\Laboratory\ParseAddr.def /out:F:\Laboratory\ParseAddr.lib
1 Создаем def файл
Пример:
impdef ParseAddr.def ParseAddr.dll
2 При необходимости из def файла удаляем лишние функции и знаки '_'
3 Создаем lib файл при помощи утилиты lib.exe
Если пути не проставлены ее можно найти в "C:\Program Files\Microsoft Visual Studio\VC98\Bin"
Кстати, потребуется также файл MSPDB60.DLL ("C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin")
Пример:
LIB.exe /def:F:\Laboratory\ParseAddr.def /out:F:\Laboratory\ParseAddr.lib
хм... интересно...! в фасме поменьше проблем будет... "un_named";)
Согласен ;)
http://www.wasm.ru/article.php?article=1018001
Но что-то у меня либ.ехе создаёт библиотеки, которые МАСМ не признаёт. Попробую ешё последний вариант (это где с Млиб и файлами .ицз).
Если кто-нибудь знает с какими параметрами дружит Млиб, подскажите пожалуйста.
Цитата:
хм... интересно...! в фасме поменьше проблем будет... "un_named"
+1 :)
Наверно так и поступлю, но ФАСМ увы не такой удобный, хотя... если написать подходящие макросы...
Как по мне масм совсем не удобный...! поэтому насчёт макросов сор, но мне кажетса это совсем на тугой конец писать надо...