То есть в среде программирования MASM32 в подключаемом инклуде Imagehlp.inc Есть прототип функции CheckSumMappedFile, вот он CheckSumMappedFile PROTO WORD,WORD,WORD,WORD (Это функция для подсчёта чек суммы PE-файла) Пишу так include C:\masm32\include\Imagehlp.inc Нормально всё пока..Ага, теперь надо и переходник для этой функции написать. Вот здесь От зелёного к красному, часть вторая сказано, что "Эта функция доступна из библиотеки imagehlp.dll" А у меня доступа к этой библиотеке нет, вот в чём загвоздка. Строка includelib C:\masm32\lib\ imagehlp.lib Ничего не даёт. На всякий случай, поискал через поиск по компьютеру файл imagehlp.lib- нету. А такое вот подсоединение через одно место includelib C:\WINDOWS\system32\Imagehlp.dll Вызывает у компьютера смех и предупреждение, что неизвестный формат файла и он будет проигнорирован Среда программирования солидная вроде, скачал с этого сайта. Хочется спросить вас, друзья, где же взять такой переходник и часта ли такая ситуация, когда что-то должно быть, но его нет. Это, может, обыкновенная рабочая ситуация для программистов, но я ещё впадаю в панику от подобного. Ладно бы, прототипа не было! А то же он есть, а переходника нет. Очено странно, и мне кажется, я чего-то не так делаю. Спасибо заранее.
Спасибо. Google почему-то выдаёт на один IMAGEHLP.LIB десять IMAGEHLP.dll Можно подумать, вторая без первого чего-то стоит.
А знаешь, второе без первого стоит очень много, а вот первое это туфта. Учись писать без припонов языка и узнаешь чего стоит второе без первого! К тому же есть программы (из комплектов MASM и TASM), которые из второго делают первое. Извини, но просто я над этим утверждением ржу до сих пор!
amvoz учите матчасть привел бы пример как найти функции LoadLibrary и GetProcAddress без всего (а GetProcAddress даже и переписать), но его слишком долго печатать, так что поверь на слово, что можно... ассемблер... Код (Text): push offset dll_file_name call LoadLibrary test eax, eax jz error; не найдена библиотека DLL push offset func_name push eax call GetProcAddess test eax, eax jz error; в библиотеке нет такой функции ;может быть необходимо задать параметры, а может и не надо call eax C (естественно под Windows, для DOS'а PE загрузчик пиши сам)... Код (Text): #include <windows.h> ... #typedef <возвращаемый тип> (WINAPI *_<имя функции>)(<параметры функции>); ... _<имя функции> <имя функции> = (_<имя функции>)GetProcAddress(LoadLibrary("<имя dll>.dll"), "<имя функции>"); ... x = <имя функции>(<параметры функции>); Delphi либо Код (Text): uses Windows; ... type T<имя функции> = function (<параметры функции>):<возвращаемый тип>; ... x:=T<имя функции>(GetProcAddress(LoadLibrary('<имя dll>.dll'), '<имя функции>'))(<параметры функции>); или Код (Text): uses Windows; ... var <имя функции>:function (<параметры функции>):<возвращаемый тип>; ... <имя функции>:=GetProcAddress(LoadLibrary('<имя dll>.dll'), '<имя функции>'); x:=<имя функции>(<параметры функции>); если надо подробнее - пиши в личку. оффтоп. блин. прерывание раньше сработало.