Skip to main content

ไฟล์วัตถุคืออะไร?

ไฟล์วัตถุเป็นไฟล์คอมพิวเตอร์ที่สร้างขึ้นโดยโปรแกรมที่เรียกว่าคอมไพเลอร์และมีข้อมูลรวมถึงคำแนะนำคอมไพเลอร์แปลซอร์สโค้ดภาษาการเขียนโปรแกรมเป็นรูปแบบที่อ่านได้ระดับกลางที่รู้จักกันในชื่อรหัสวัตถุโปรแกรมขนาดเล็กอาจถูกรวบรวมในไฟล์วัตถุเดียวในขณะที่โปรแกรมขนาดใหญ่มักจะรวบรวมเป็นไฟล์หลายไฟล์ที่เกี่ยวข้องไฟล์วัตถุแต่ละไฟล์เหล่านี้จะเข้าร่วมโดย Linker และข้อมูลเฉพาะระบบปฏิบัติการจะถูกเพิ่มเข้ามาในรูปแบบโปรแกรมปฏิบัติการ

ในการปฏิบัติทั่วไปไฟล์วัตถุจะถูกแสดงโดยนามสกุลไฟล์. objอย่างไรก็ตามมีหลายรูปแบบที่แตกต่างกันสำหรับไฟล์เหล่านี้ที่พบมากที่สุดคือ Intel reg;รูปแบบโมดูลวัตถุ Relocatable (OMF) และรูปแบบไฟล์วัตถุทั่วไป (COFF) ของ Windows Reg และ Unix reg;ระบบ V. ในหลาย ๆ อินฟัล reg;ระบบรูปแบบการดำเนินการและเชื่อมโยง (ELF) มาแทนที่ Coff.

โดยไม่คำนึงถึงรูปแบบไฟล์วัตถุมักจะมีข้อมูลสามประเภทที่ช่วยให้สามารถโต้ตอบกับโมดูลโปรแกรมอื่น ๆ ได้ขั้นตอนและข้อมูลที่เปิดสู่การอ้างอิงภายนอกเป็นชื่อที่ได้รับการกำหนดซึ่งสามารถเรียกได้จากโมดูลอื่น ๆในทำนองเดียวกันการอ้างอิงถึงข้อมูลนอกโมดูลจะถูกบันทึกไว้ แต่ไม่ได้กำหนดชื่อเมื่อมีการเชื่อมโยงไฟล์การอ้างอิงที่ไม่มีชื่อจะถูกกำหนดชื่อที่กำหนดไว้ในโมดูลที่พวกเขาถูกกำหนดไว้เดิมชื่อท้องถิ่นใช้สำหรับคำแนะนำและข้อมูลที่อ้างถึงภายในโมดูลเท่านั้น

รหัสที่เชื่อมโยงทั้งหมดไม่ได้ถูกเก็บไว้เป็นไฟล์วัตถุห้องสมุดเป็นคอลเลกชันของรูทีนที่รวบรวมไว้ล่วงหน้าซึ่งจัดเก็บเป็นรหัสวัตถุพวกเขาผลิตในลักษณะเดียวกับไฟล์วัตถุและมีประโยชน์สำหรับการจัดเก็บขั้นตอนที่เรียกว่าบ่อยครั้งเมื่อ Linker ไม่พบการอ้างอิงภายในไฟล์วัตถุอื่นมันจะค้นหาโดยอัตโนมัติในไฟล์ไลบรารีการใช้งานส่วนใหญ่ของภาษาการเขียนโปรแกรมมาพร้อมกับไลบรารีมาตรฐานของฟังก์ชั่น

โดยการเชื่อมโยงแบบไดนามิกไฟล์วัตถุสามารถใช้งานได้พร้อมกันโดยโปรแกรมการดำเนินการหลายรายการแทนที่จะใช้รหัสวัตถุที่มีผลผูกพันกับโปรแกรมเมื่อเชื่อมโยงมันจะถูกเรียกคืนเมื่อโปรแกรมถูกโหลดหรือที่รันไทม์เมื่อมีการอ้างอิงขั้นตอนใน windows reg;สภาพแวดล้อมเหล่านี้เรียกว่าไลบรารีลิงก์แบบไดนามิกและแสดงโดยส่วนขยาย. dllระบบที่คล้ายกับ Unix reg;บ่อยครั้งที่ไฟล์ประเภทนี้เป็นวัตถุที่ใช้ร่วมกันแบบไดนามิก (DSO)ไฟล์วัตถุประเภทนี้อาจถูกนำไปใช้เพื่อใช้กับโปรแกรมเฉพาะและจะเป็นส่วนหนึ่งของการติดตั้งโปรแกรมนั้น