เฉพาะส่วนหัวเท่านั้น

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

ข้อเสีย ได้แก่:

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

อย่างไรก็ตาม รูปแบบส่วนหัวอย่างเดียวเป็นที่นิยมเพราะหลีกเลี่ยงปัญหาด้านการบรรจุภัณฑ์ (ที่มักจะร้ายแรงกว่ามาก)

สำหรับเทมเพลต C++การรวมคำจำกัดความไว้ในส่วนหัวเป็นวิธีเดียวในการคอมไพล์ เนื่องจากคอมไพเลอร์จำเป็นต้องทราบคำจำกัดความเต็มรูปแบบของเทมเพลตเพื่อที่จะสร้างอินสแตนซ์ได้

อ้างอิง

  1. ^ วิลสัน, แมทธิว (2004). Imperfect C++ . แอดดิสัน-เวสลีย์. หน้า 177. ISBN 0-321-22877-4-
Retrieved from "https://en.wikipedia.org/w/index.php?title=Header-only&oldid=1224758571"