Tags:
Node Thumbnail

โครงการนำ 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

Get latest news from Blognone

Comments

By: caznova
AndroidRed HatUbuntuWindows
on 28 October 2015 - 19:29 #856843
caznova's picture

หล่อเลย

By: sukjai
iPhoneAndroidRed HatUbuntu
on 28 October 2015 - 20:28 #856856

แจ่มมาก

By: syootakarn
iPhoneWindows PhoneAndroidBlackberry
on 28 October 2015 - 22:39 #856906
syootakarn's picture

น่าจะทำตั้งนานแล้ว