25 คะแนน โดย joone 2023-01-20 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • LLVM เป็นโปรเจกต์ที่ Chris Lattner เริ่มต้นขึ้นเพื่อปรับปรุงปัญหาของคอมไพเลอร์เดิมและ GCC และเป็นโครงสร้างพื้นฐานคอมไพเลอร์ที่เปิดตัวในปี 2003
  • กำหนด intermediate representation เพื่อให้สามารถนำคอมโพเนนต์แต่ละส่วนของคอมไพเลอร์กลับมาใช้ซ้ำได้
  • หากเพิ่มภาษาใหม่ในส่วน front end ก็จะสามารถนำ optimizer และ back end กลับมาใช้ซ้ำได้ตามเดิม
  • สามารถใช้เฉพาะ front end แยกต่างหากเพื่อเขียนความสามารถด้านการวิเคราะห์โปรแกรมแบบสถิตได้
  • เคยพยายามรวม LLVM เข้ากับ GCC แต่ล้มเหลวเพราะการคัดค้านจากชุมชน
  • Apple นำ LLVM มาใช้ และใช้ Clang ที่พัฒนาขึ้นใหม่แทน GCC
  • Chris Lattner ยังพัฒนา Swift ที่ Apple ด้วย และถูกใช้เป็นภาษาเริ่มต้นของแพลตฟอร์ม Apple แทน Objective-C

3 ความคิดเห็น

 
ragingwind 2023-01-20

อันที่จริงตอนนี้ de facto น่าจะไม่ใช่ clang ไปแล้วมั้ง เพราะตอนนี้รองรับโปรเจกต์ขนาดใหญ่จำนวนมากด้วย

 
hohohoho 2023-01-20

clang กับ LLVM ใช้งานคนละแบบไม่ใช่เหรอ?

 
ragingwind 2023-01-21

เป็นเรื่องที่ว่า clang ซึ่งเป็น frontend ที่ใช้ llvm ตอนนี้ถูกนำไปใช้ในหลายโปรเจกต์โอเพนซอร์สแทน gcc แล้วนะครับ ไม่ได้เป็นการเปรียบเทียบสองตัวนี้ครับ น่าจะดูภาค 2 ที่ว่าด้วยการรีลีสของ clang ได้ https://joone.net/2023/01/…