ฉันเพิ่งอ่านhttps://techfindings.one/archives/2652เกี่ยวกับการเขียนโปรแกรมการทำงานและมาพร้อมกับสิ่งนี้:
ฟังก์ชั่นที่ไม่ระบุชื่อมักจะไม่สามารถรวบรวม JIT และจะไม่ถูกปรับ
มีคนอธิบายให้ฉันฟังได้ไหมว่าเพราะอะไรในกรณีนี้
ฉันเพิ่งอ่านhttps://techfindings.one/archives/2652เกี่ยวกับการเขียนโปรแกรมการทำงานและมาพร้อมกับสิ่งนี้:
ฟังก์ชั่นที่ไม่ระบุชื่อมักจะไม่สามารถรวบรวม JIT และจะไม่ถูกปรับ
มีคนอธิบายให้ฉันฟังได้ไหมว่าเพราะอะไรในกรณีนี้
คำตอบ:
มีความเข้าใจผิดทั่วไปเกี่ยวกับฟังก์ชั่นที่ซ้อนกันชื่อหรือไม่ระบุชื่อที่ผู้คนคิดว่าเพราะฟังก์ชั่นที่มีการประกาศในฟังก์ชั่นอื่นที่คอมไพเลอร์จะต้องคอมไพล์ใหม่ทุกครั้งที่มีการเรียกใช้ สิ่งนี้ไม่เป็นความจริง โค้ดของฟังก์ชันนั้นคงที่แม้ว่าบริบทการโทรจะไม่ได้อยู่และสามารถถูกinlineหรือปรับให้เหมาะสมเหมือนกับฟังก์ชันอื่น ๆ ความสับสนนี้ดูเหมือนว่าจะมีประโยชน์อย่างยิ่งในหมู่โปรแกรมเมอร์ซึ่งส่วนใหญ่ใช้ฟังก์ชั่นที่ซ้อนกันในการใช้งานภาษาตีความ / JIT เช่นในคำถามนี้
บทความนั้นมีความเข้าใจผิดอื่น ๆ ที่คล้ายคลึงกันสองสามข้อซึ่งแสดงว่าเขาไม่เข้าใจปัญหาเช่นเดียวกับที่เขาคิด ฉันจะไม่ถือว่าเป็นแหล่งที่น่าเชื่อถือสำหรับการเรียนรู้เกี่ยวกับการเขียนโปรแกรมการทำงาน