|
|
От: |
FoolS.Top
|
|
| Дата: | 07.10.05 10:41 | ||
| Оценка: | |||
А>Так вот. НЕ РАБОТАЕТ!А>Файлы определения модуля MyDLL.def :
А>А>LIBRARY "MyDLL" А>DESCRIPTION "MyDLL - пример DLL-библиотеки" А>EXPORTS MyFunction @1 А>
А>В строке экспорта функции можно указать ее порядковый номер, поставив перед ним символ @. Этот номер будет затем использоваться при обращении к GetProcAddress (). На самом деле компилятор присваивает порядковые номера всем экспортируемым объектам. Однако способ, которым он это делает, отчасти непредсказуем, если не присвоить эти номера явно. В строке экспорта можно использовать параметр NONAME. Он запрещает компилятору включать имя функции в таблицу экспортирования DLL:
А>А>MyFunction @1 NONAME А>
А>...Приложениям, загружающим библиотеки DLL динамически, потребуется передавать в GetProcAddress порядковый номер, а не имя функции.