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