Консультация № 38931
30.03.2006, 04:04
0.00 руб.
0 1 1
Здравствуйте, уважаемые эксперты.

Имеются следующие вопросы:
1) Что есть такое хэш (hash)? Опишите или дайте какие-нибудь ссылки, где это бы доступно было описано.

2)Создаю программу на MASM32, состоящую из двух файлов: .exe‘шника и .dll‘а. Последний (dll) загружаю с помощью LoadLibrary и вызываю его функции с помощью адресов, полученных через GetProcAddress. Это не очень удобно, и мне хотелось бы его прилинковать. Как это сделать? (см. приложение) MASM, создавая dll, автоматически создал .exp и .lib. Что такое .exp?

Приложение:
начало проги scan:... includelib \\...\\scanlib.libinclude \\...\\scanlib.inc...Файл scanlib.inc создан вручную и состоит всего из 4-х строк:ProcScanF PROTO :DWORD, :DWORDFDtyp PROTONameSear PROTO :DWORD, :DWORD, :DWORDErrClose PROTO :DWORDи всё... Дальше в коде есть вызовы ф-ций из scanlib.dll.Компиляция:ml /c /coff c:\\...\\scan.asm - прошло успешно.link /subsystem:windows /libpath:c:\\...\\ scan.obj - вызывает ошибку:error lnk2001 : unresolved external symbol _ProcScanF@8(настоящее название ф-ции - "ProcScanF", без "_","@" и "8"), и так на все 4 ф-ции.Что сделано неверно и как исправить?

Обсуждение

Неизвестный
30.03.2006, 09:29
общий
это ответ
Здравствуйте, AbVoid!
1. Хеш - это необратимый шифр. То есть из хеша строки нельзя получить саму строку. Например, сложи все буквы строки и ты получишь "хеш", хоть и с огромным числом коллизий, то есть очень много строк бутум иметь такой же хеш
Форма ответа