โครงการนำ Clang มาใช้คอมไพล์โค้ดภาษา C++ ของไมโครซอฟท์ มีความก้าวหน้าอย่างจับต้องได้อีกขั้นเมื่อไมโครซอฟท์ได้นำเสนอวิธีการคอมไพล์โค้ดวินโดวส์แอพด้วย Clang ในงาน CPPCon 2015 ที่ผ่านมา และคาดว่าจะเพิ่มวิธีการคอมไพล์นี้ในชุดอัพเดตสำหรับ Visual C++ ที่จะออกมาในเดือนหน้าด้วย
Clang เป็นคอมไพเลอร์ภาษา C/C++/Objective-C ในโครงการชุดคอมไพเลอร์โอเพนซอร์ส LLVM ที่ทำงานได้ทั้งในวินโดวส์และทำงานบนระบบปฏิบัติการสายยูนิกซ์ ในปัจจุบันไมโครซอฟท์นำ Clang เข้าไปผนวกไว้ใน Visual Studio เพื่อคอมไพล์โค้ด Android และในอัพเดตนี้ไมโครซอฟท์จะนำ Clang มาใช้แทน Visual C++ ในบางขั้นตอนของการคอมไพล์วินโดวส์แอพด้วย
คอมไพเลอร์ Visual C++ นั้นมีส่วนประกอบอยู่หลายส่วน โดยสองส่วนในนั้นที่ทำงานร่วมกันคือ Front-end compiler (หรือ C1) ที่ทำหน้าที่สร้าง Abstract Syntax Tree (AST) เพื่อแสดงเนื้อหาของโปรแกรม และ Back-end compiler (หรือ C2) ที่จะอ่าน AST แล้วสร้างโค้ดที่ทำงานได้ออกมา
ในอัพเดตใหม่นี้ไมโครซอฟท์ได้นำ Clang มาใช้แทน C1 โดยจะให้ Clang สร้าง Intermediate Representation ของ LLVM ออกมาแล้วแปลงให้อยู่ในรูปแบบที่ C2 เข้าใจอีกรอบเพื่อนำไปคอมไพล์เป็นโปรแกรมที่ทำงานได้ต่อไป
ข้อดีของวิธีใหม่ก็คือจะช่วยเสริมให้การทำงานข้ามแพลตฟอร์มให้สะดวกขึ้นเพราะไม่ต้องคำนึงถึงความแตกต่างระหว่างตัว C1 และ Clang ช่วยให้การดีบักทำได้สะดวกขึ้น นอกจากนี้การที่ Clang ยังรองรับมาตรฐานใหม่ๆ ที่คอมไพเลอร์ของไมโครซอฟท์ยังรองรับไม่สมบูรณ์ด้วย
อย่างไรก็ตามไมโครซอฟท์จะยังไม่ทิ้ง C1 เพื่อรองรับโค้ดที่มีอยู่ในปัจจุบัน แต่จะพัฒนาไปพร้อมๆ กับกระบวนการคอมไพล์ด้วย Clang แทน
ที่มา - The Register
Comments
หล่อเลย
แจ่มมาก
น่าจะทำตั้งนานแล้ว