Tags:
Node Thumbnail

โครงการชุดคอมไพเลอร์โอเพนซอร์ส LLVM มีคอมไพเลอร์ภาษา C/C++/Objective-C ชื่อว่า Clang ที่ถูกใช้งานอย่างแพร่หลาย ปกติแล้ว Clang ทำงานบนระบบปฏิบัติการสายยูนิกซ์ แต่ก็สามารถใช้บนวินโดวส์ได้ด้วย

ล่าสุด Clang ได้ผู้สนับสนุนรายใหม่คือ "ไมโครซอฟท์" ที่ปกติแล้วใช้ Visual C++ ของตัวเองเสมอมา (Clang เริ่มพัฒนาโดยแอปเปิล แต่ปัจจุบันดูแลโดยชุมชน)

นโยบายใหม่ของไมโครซอฟท์มาจาก การเปิดให้ Visual Studio คอมไพล์โค้ดจาก Android/iOS ทำให้ไมโครซอฟท์จำเป็นต้องหาคอมไพเลอร์ที่ทำงานบนแพลตฟอร์มอื่นๆ ได้ด้วย ซึ่ง Clang ก็มารับบทนี้

ไมโครซอฟท์อธิบายการทำงานของการคอมไพล์เป็นแผนภาพด้านล่าง

No Description

โค้ดส่วนที่เจาะจงกับแพลตฟอร์มคือ (1) และ (3) ส่วน (2) ที่เป็น logic หลักของโปรแกรม สามารถทำงานได้ข้ามแพลตฟอร์ม

เดิมทีไมโครซอฟท์ใช้ Visual C++ คอมไพล์ (2) เมื่อใช้บนวินโดวส์ และใช้ Clang คอมไพล์ (2) เมื่อใช้บนระบบปฏิบัติการอื่นๆ ปัญหาของแนวทางนี้คือต้องคอมไพล์สองที และไบนารีที่ได้อาจไม่ตรงกัน ยากแก่การดีบั๊ก

สิ่งที่ไมโครซอฟท์ทำคือไปช่วยพัฒนา Clang ให้ทำงานบนวินโดวส์ได้ดีขึ้น และเปลี่ยนมาใช้ Clang คอมไพล์ (2) เมื่อทำงานบนวินโดวส์แทนการใช้ Visual C++ (อย่างไรก็ตาม ไมโครซอฟท์ยังใช้ Visual C++ คอมไพล์ (1) และ (3) อยู่เหมือนเดิม เพราะเป็นโค้ดที่ผูกติดกับแพลตฟอร์ม และกระบวนการสร้างโค้ดไบนารีหรือ code-generation ยังใช้ Visual C++ ในทั้งสามส่วน)

ไมโครซอฟท์บอกว่าเทคโนโลยีใหม่นี้ยังอยู่ในช่วงเริ่มต้น และจะเผยข้อมูลเพิ่มเติมอีกในอนาคต

ที่มา - Visual C++ Team Blog via Phoronix

Get latest news from Blognone

Comments

By: mr_tawan
ContributoriPhoneAndroidWindows
on 5 May 2015 - 02:39 #810904
mr_tawan's picture

เดาว่าเป็นการใช้ llvm เป็นตัวกลางระหว่างโค๊ดที่เป็น C++ (ผ่านทาง Clang) กับ C2 Backend ของ Microsoft


  • 9tawan.net บล็อกส่วนตัวฮับ
By: sukjai
iPhoneAndroidRed HatUbuntu
on 5 May 2015 - 06:33 #810908

+1

By: Architec
ContributorWindows PhoneAndroidWindows
on 5 May 2015 - 06:52 #810909

ช่วงนี้ VS ไปแจมก๊งไหน วงแตกทันที (ทั้งๆที่มันทำได้มาตั้งนานแล้ว)

By: teerapon0009
Windows PhoneAndroidWindows
on 5 May 2015 - 07:26 #810910
teerapon0009's picture

เอาแอพ Android ลง Windows 10 แบบนี้ Cyanogen (ที่จะเอา Google service ออก) ก็สามารถมาใช้แอพได้ไหม

By: havestmoon on 5 May 2015 - 12:17 #810952
havestmoon's picture

ขอแบบ VS ตัวเดียวครบหมดเลยก็ดี จะได้ไม่ต้องพห IDE หลายตัว (ฝันป่ะเนีย)