Ich habe gehört, dass "BPL eine besondere Art von DLL ist", aber ich hatte nicht erwartet, dass dieser Satz so groß ist. Ich habe kürzlich gesehen, wie jemanden Exportaussagen in einer Einheit eines bestimmten DPK schrieb, und ich war sehr überrascht. Wenn Sie jedoch die Hilfe von Delphi betrachten, sind alle mit Exportbibliotheken verbunden. Ich habe heute "Delphi Source Code Analysis" gelesen und dann die Bedeutung des obigen Satzes gelernt. Daher gibt es folgende Schlussfolgerungen:
Für DLL -Projekte können Exporte entweder in Projektdateien oder in den Einheiten geschrieben werden, kein Unterschied.
BPL ist eine Art DLL.
Die obigen Exporte sind normal.
Laut der Anweisung in "Delphi Source Code Analysis" fügt BPL nur einige Funktionen auf der Grundlage von DLL hinzu, z. B. die Überprüfung der doppelten Einheit. Das Betriebssystem betrachtet BPL und DLL als den gleichen Dateienart. Und das Buch gibt das Tdump -Ergebnis für die einfachste BPL:
Paket nullpackage;
Erfordert
RTL;
Ende.
E:/ls> tdump -m -a: v nullpackage.bpl
Exporte von nullpackage.bpl
7 Exportierte Name (en), 7 Exportadresse (en).
Sortiert von rva:
RVA ord
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------
0000124C 1 0006 @getPackageInfotable
0000124c 2 0003@nullpackage @@ GetpackageInfotable $ qqrv
00001254 3 0002@nullpackage @@ packageload $ qqrv
00001254 7 0005 initialisieren
00001260 4 0001@nullpackage @@paketUnload $ qqrv
00001260 6 0004 Fenden Sie ab
0000126C 5 0000 @nullpackage @initialization $ qqrv
Haben Sie mehrere Funktionen gesehen, die auf dieselbe Adresse hinweisen? Dies ist wahrscheinlich das, was Exporte bedeutet.
Off -Thema: Google ist heute nicht einfach zu bedienen, daher musste ich Baidu benutzen, aber es dauerte lange, bis keine Ergebnisse erzielt wurden. Ich bekam Google am Nachmittag und suchte und fand, was ich sofort brauchte. Es scheint, dass Baidu es immer noch nicht kann.