J'ai entendu dire que "BPL est un type spécial de DLL", mais je ne m'attendais pas à ce que cette phrase ait une si grande importance. J'ai récemment vu quelqu'un écrire des déclarations d'exportation dans une unité appartenant à un certain DPK, et j'ai été très surpris. Mais en regardant l'aide de Delphi, tous liés à l'exportation sont des bibliothèques. J'ai lu "Delphi Source Code Analysis aujourd'hui, puis j'ai appris le sens de la phrase ci-dessus. Par conséquent, il y a les inférences suivantes:
Pour les projets DLL, les exportations peuvent être écrites dans des fichiers de projet ou par unité, aucune différence.
BPL est une sorte de DLL.
Les exportations ci-dessus sont normales.
En fait, selon l'instruction dans "Delphi Source Code Analysis", BPL ajoute uniquement certaines fonctionnalités sur la base de la DLL, telles que la vérification de l'unité en double. Le système d'exploitation considère que BPL et DLL sont le même type de fichiers. Et le livre donne le résultat tdump pour le BPL le plus simple:
package nullPackage;
Nécessite
rtl;
fin.
E: / ls> tdump -m -ea: v nullpackage.bpl
Exportations de nullpackage.bpl
7 noms exportés, 7 adresses d'exportation.
Trié par RVA:
RVA ORD.
-------------------------------------------------- -------------------------------------------------- ----------------------------
0000124C 1 0006 @GetPackageInfotable
0000124C 2 0003 @ nullpackage @@ getPackageInfotable $ qqrv
00001254 3 0002 @ nullpackage @@ packageload $ qqrv
00001254 7 0005 Initialiser
00001260 4 0001 @ nullpackage @@ packunUnload $ qqrv
00001260 6 0004 Finaliser
0000126C 5 0000 @ nullpackage @ initialisation $ qqrv
Avez-vous vu plusieurs fonctions pointant vers la même adresse? C'est probablement ce que signifie les exportations.
Hors du sujet: Google n'est pas facile à utiliser aujourd'hui, j'ai donc dû utiliser Baidu, mais il a fallu beaucoup de temps pour ne faire aucun résultat. J'ai eu Google dans l'après-midi et j'ai cherché et j'ai trouvé ce dont j'avais besoin immédiatement. Il semble que Baidu ne puisse toujours pas le faire.