Я слышал, что «BPL - это особый вид DLL», но я не ожидал, что это предложение имеет такое большое значение. Недавно я видел, как кто -то писал экспортные заявления в подразделении, принадлежащем к определенному DPK, и я был очень удивлен. Но, глядя на помощь Delphi, все, что связано с экспортом, являются библиотеками. Сегодня я прочитал «Анализ исходного кода Delphi», а затем узнал значение вышеперечисленного предложения. Следовательно, есть следующие выводы:
Для проектов DLL экспорт может быть записан либо в файлах проекта, либо в блоке, без разницы.
BPL - это своего рода DLL.
Экспорт выше нормальный.
Фактически, согласно утверждению в «Анализ исходного кода Delphi», BPL добавляет только некоторые функции на основе DLL, таких как проверка дубликата. Операционная система рассматривает BPL и DLL как тип файлов. И книга дает результат TDUMP для самых простых BPL:
пакет Nullpackage;
Требует
RTL;
конец.
E:/ls> tdump -m -ea: v nullpackage.bpl
Экспорт из nullpackage.bpl
7 Экспортируемые названия (ы), 7 Экспортный адрес (ы).
Сортируется по RVA:
Rva ord
------------------------------------------------------ ------------------------------------------------------ ----------------------------
0000124C 1 0006 @getPackageInfotable
0000124C 2 0003@nullpackage @@ getpackageinfotable $ qqrv
00001254 3 0002@nullpackage @@ packageload $ qqrv
00001254 7 0005 инициализируйте
00001260 4 0001@nullpackage @@ packageUnload $ QQRV
00001260 6 0004
0000126C 5 0000 @nullpackage @инициализация $ qqrv
Вы видели несколько функций, указывающих на тот же адрес? Это, вероятно, то, что означает экспорт.
Вне темы: Google не просто в использовании сегодня, поэтому мне пришлось использовать Baidu, но потребовалось много времени, чтобы сделать никаких результатов. Я получил Google во второй половине дня, искал и нашел то, что мне нужно сразу же. Кажется, что Байду все еще не может этого сделать.