ฉันได้ยินมาว่า "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 ในตอนบ่ายและค้นหาและพบสิ่งที่ฉันต้องการทันที ดูเหมือนว่า Baidu ยังคงทำไม่ได้