สวัสดีและยินดีต้อนรับ. ในการบรรยายนี้ ฉันต้องการพูดคุยเกี่ยวกับตัวประมวลผลล่วงหน้า
เราได้พูดคุยสั้นๆ เกี่ยวกับแนวคิดนี้ในการบรรยายครั้งก่อน โดยส่วนใหญ่เพียงอ้างว่าเป็นข้อได้เปรียบ
เหตุผลหลักที่ฉันต้องการพูดถึงมันเล็กน้อยในช่วงเริ่มต้นของชั้นเรียนก็เพราะว่ามันถูกใช้ในทุกโปรแกรม
และฉันต้องการพูดคุยเกี่ยวกับคำสั่ง include ซึ่งเป็นคำสั่งตัวประมวลผลล่วงหน้า
ดังนั้น ถ้าผมอยากพูดถึงเรื่องนั้น ผมต้องอธิบายตัวประมวลผลล่วงหน้าโดยทั่วไปก่อน
นี่จะเป็นคำอธิบายระดับสูง
เมื่อเราผ่านชั้นเรียน เราจะพูดถึงตัวประมวลผลล่วงหน้าเพิ่มเติมในแง่ของคำสั่งต่างๆ
และอื่นๆ
แต่เพื่อให้เข้าใจถึงพื้นฐาน พรีโปรเซสเซอร์นี้เป็นคุณลักษณะเฉพาะของ
c
ไม่พบในภาษาอื่นอีกมากมาย
และเป็นประโยชน์อย่างมาก และคุณควรพยายามทำความเข้าใจ
และเราควรพยายามใช้ให้มากที่สุด
โดยพื้นฐานแล้วจะช่วยให้โปรแกรมพัฒนาได้ง่ายขึ้นโดยนักพัฒนา
ทำให้โปรแกรมอ่านง่ายขึ้น ทำให้ง่ายต่อการปรับเปลี่ยนและทำให้ง่ายต่อการพอร์ต
ดังนั้นจึงช่วยให้เกิดประโยชน์มากมาย
ดังนั้นการมีคำอธิบายให้เข้าใจว่ามันคืออะไรในการเรียนรู้ภาษา
c ก่อนวัยอันควรเป็นสิ่งสำคัญ
เป็นส่วนหนึ่งของกระบวนการคอมไพล์
c แต่ถือเป็นคำสั่งพิเศษ
และเช่นเดียวกับที่ระบุว่าตัวประมวลผลล่วงหน้าในชื่อ
ก็หมายความว่ามีบางอย่างเกิดขึ้นก่อนที่คุณจะประมวลผลโค้ด
ดังนั้น วิเคราะห์คำสั่งบางอย่างในโค้ดของคุณก่อนที่จะวิเคราะห์ตัวโปรแกรมเอง
มันทำสิ่งต่าง ๆ ก่อนที่มันจะคอมไพล์
ดังนั้นจึงเป็นการบอกคอมไพเลอร์ของคุณว่า ก่อนที่คุณจะแปลงเป็นโค้ดนี้จริงๆ
ก่อนที่คุณจะสร้างไฟล์อ็อบเจ็กต์ ก่อนที่คุณจะสร้างและทำการเชื่อมโยงทั้งหมดและสร้างไฟล์เรียกทำงาน ให้ทำเช่นนี้ก่อน
ดังนั้น เนื่องจากคุณทำสิ่งนี้ก่อนที่จะคอมไพล์ คุณจึงสามารถเพิ่มประสิทธิภาพสิ่งต่าง
ๆ และทำให้สิ่งต่าง ๆ ง่ายขึ้นมาก
ตอนนี้คุณมักจะมีคำสั่งตัวประมวลผลล่วงหน้าเหล่านี้ที่ด้านบนสุดของซอร์สโค้ดของคุณ
แต่สามารถอยู่ที่ไหนก็ได้
พวกเขาสามารถกระจายได้ทุกที่ในโค้ดของคุณ
หนึ่งในเรื่องใหญ่ที่เราจะพูดถึงคือการรวม
วิธีที่คุณสามารถระบุคำสั่งตัวประมวลผลล่วงหน้าในซอร์สโค้ดของคุณก็คือ พวกมันมีเครื่องหมายปอนด์อยู่ข้างหน้า
ดังนั้นจึงมีเครื่องหมายปอนด์ตัวเลขนั้น
และนั่นต้องเป็นอักขระที่ไม่ใช่ช่องว่างตัวแรกในบรรทัด เพื่อที่จะเป็นคำสั่งตัวประมวลผลล่วงหน้า
หรือที่เรียกว่าคำสั่งตัวประมวลผลล่วงหน้า
อย่างที่ฉันพูดไป ความท้าทายแรกของเราใช้คำสั่งตัวประมวลผลล่วงหน้าจริงๆ
เป็นคำสั่งรวม เรารู้ว่ามันเป็นคำสั่งพรีโปรเซสเซอร์เพราะเราเห็นสัญลักษณ์ปอนด์
เราไม่รู้แน่ชัดว่าสิ่งที่รวมไว้ทำอะไร เราจะพูดถึงเรื่องนี้ในการบรรยายครั้งต่อไป
แต่มันเป็นคำสั่งตัวประมวลผลล่วงหน้า มันเป็นคำสั่งตัวประมวลผลล่วงหน้า
และอีกครั้ง เนื่องจากมีการใช้กันอย่างแพร่หลายในทุกโปรแกรม
เพราะทุกโปรแกรมจะต้องมีการรวม ฉันอยากจะพูดถึงมันตั้งแต่เนิ่นๆ
แต่ไม่ได้หมายความว่ามีการรวม
พรีโปรเซสเซอร์สามารถทำสิ่งอื่นได้มากมายและมีคำสั่งอื่นๆ
บางสิ่งที่เราจะพูดถึงในขณะที่เราเรียนหลักสูตรนี้เกี่ยวกับตัวประมวลผลล่วงหน้าคือสิ่งที่ต้องการสร้างค่าคงที่
ค่าคงที่เป็นแนวคิดที่มันเป็นตัวแปรโดยพื้นฐานแล้วจะไม่เปลี่ยนแปลงค่าของมัน
เป็นข้อมูลที่ไม่เคยเปลี่ยนแปลง นั่นคือวิธีที่คุณคิดได้เพราะเรายังไม่ได้พูดถึงตัวแปรเลย
แต่คุณสามารถสร้างค่าคงที่ในตัวประมวลผลล่วงหน้าได้
และสิ่งนี้จะปรับโค้ดของคุณให้เหมาะสมทำให้มีประสิทธิภาพมากขึ้นและทำงานเร็วขึ้น
นอกจากนี้ยังมีแนวคิดของมาโครซึ่งเป็นอีกหัวข้อหนึ่งในตัวมันเอง
แต่มาโครเป็นอีกคำสั่งหนึ่งของตัวประมวลผลล่วงหน้า
และวิธีที่คุณสามารถสร้างมาโครได้ก็คือ คุณสามารถใช้คำสั่ง define
เราจะพูดถึงนิยาม เราจะพูดถึงการสร้างค่าคงที่
แต่คุณควรทำความคุ้นเคยกับแนวคิดของตัวประมวลผลล่วงหน้านี้
และใช้สิ่งต่าง ๆ เหล่านี้ เช่น include,define, constant
รวมถึงเราจะพูดถึงโดยเฉพาะในการบรรยายครั้งต่อไป แต่ข้อดีของสิ่งนี้คือคุณสามารถสร้างไฟล์ห้องสมุดของคุณเองได้
และเราคุยกันว่าห้องสมุดคืออะไร ห้องสมุดกำลังใช้รหัสที่มีอยู่ซ้ำ
เป็นรหัสที่คุณไม่ต้องเขียน
ภาษาการเขียนโปรแกรม c มาพร้อมกับไลบรารีมาตรฐานของตัวเองที่ทำสิ่งต่างๆ
ให้คุณ เช่น แสดงผลไปยังคอนโซล
อ่านและเขียนไฟล์ จัดการสตรีม สิ่งต่างๆ มากมาย
หากคุณคุ้นเคยกับ
java การนำเข้า java API ที่คล้ายกัน อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน
ตัวอย่างอื่นๆ ของคำสั่งตัวประมวลผลล่วงหน้าจะเป็นเงื่อนไขแบบมีเงื่อนไข
เช่น if def the end if, else หรือ in if ไม่กำหนดคำสั่ง
และเราจะพูดถึงรายละเอียดเหล่านั้นในรายละเอียดเพิ่มเติมเช่นกัน
แต่คำสั่งล่วงหน้าของตัวประมวลผลล่วงหน้าเหล่านี้ช่วยในเรื่องประสิทธิภาพของโค้ด
และทำงานก่อนที่คอมไพเลอร์จะทำงานจริงๆ
มันทำงานก่อนที่โค้ดใด ๆ จะสร้างไฟล์อ็อบเจ็กต์หรือไฟล์เรียกทำงาน
แต่เราจะกล่าวถึงรายละเอียดทั้งหมดนี้ในรายละเอียดเพิ่มเติมในการบรรยายในอนาคต
ฉันต้องการให้คุณลองชิมดูก่อนเพราะเราต้องเข้าใจมันก่อนที่เราจะสามารถเข้าใจสิ่งที่เรากำลังทำกับคำสั่ง
include ซึ่งเป็นสิ่งที่เราจะพูดถึงต่อไป
ขอขอบคุณ.