Clang / LLVM พร้อมสำหรับช่วงไพร์มหรือไม่? [ปิด]


9

เสียงดังกราวสามารถใช้แทน gcc? ประสบการณ์ของคุณเกี่ยวกับสิ่งนั้น? มีข้อเสียอะไรบ้าง?

ประสิทธิภาพของการคอมไพล์ดีกว่า gcc มาก แต่ประสิทธิภาพของโค้ดที่สร้างขึ้นเมื่อรันมัน?

มีเครื่องมือที่ดีเป็น front-end (IDE) ให้ทำงานบน Linux หรือ Windows หรือไม่?

แก้ไข: ฉันหมายถึงคอมไพเลอร์ C C ++ มันยังไม่ค่อยดีเท่าไหร่

คำตอบ:


9

อัปเดต: ตอนนี้ (2013) เสียงดังกราวพร้อมสำหรับช่วงไพร์มไทม์และใช้งานโดยบาง บริษัท เช่น Google อย่างไรก็ตามมันไม่สามารถใช้งานได้อย่างสมบูรณ์บน Windows การทำงานบนแพลตฟอร์มนี้คือ "กำลังดำเนินการ" LLVM / Clang ปัจจุบันเป็นผู้รวบรวมเริ่มต้นบน MacOSX / XCode แต่มันก็ไม่ได้ออกวางจำหน่ายเหมือนกันอย่างแน่นอนกว่า LLVM ดังนั้นโปรดระวังความแตกต่างเล็กน้อย (ส่วนใหญ่แตกต่างกันของหมายเลขเวอร์ชั่น)


ต่อไปนี้เป็นรายการส่งเมล clang devเมื่อเร็ว ๆ นี้รุ่น trunkได้สร้างสำเร็จแล้ว:

  • เคอร์เนล linux (การแก้ไขล่าสุด)
  • Qt (ด้วยกระบวนการสร้างแบบพิเศษเช่นกัน)
  • Chromium (การแก้ไขล่าสุด)

ดังนั้นฉันจะบอกว่าเวอร์ชั่นที่กำลังจะมาถึง (2.9) อาจเป็นคอมไพเลอร์ "พร้อมสำหรับเวลาที่ดี"

อย่างไรก็ตามหากโครงการของคุณมีการวางแผนและงบประมาณบางทีคุณอาจลองคอมไพเลอร์ที่ยังไม่ผ่านการทดสอบ หากคุณได้รับอนุญาตให้ทดลองและให้ข้อเสนอแนะกับชุมชนนักพัฒนาเสียงดังกังวานไปเลยมันเป็น win-win สำหรับทุกคน ถ้าไม่เช่นนั้นคุณควรใช้คอมไพเลอร์ที่ผู้ใหญ่และใช้แล้วอย่างเช่น gcc (ในเวอร์ชันล่าสุด) เพื่อให้มี "กราวด์ที่มั่นคง" เพื่อใช้ในขณะที่ทำงานกับโครงการของคุณ


เพียงเพื่อการเสริมเท่านั้นมันไม่ใช่โปรเจ็กต์มืออาชีพ ... แต่มันก็เป็นโปรเจ็กต์เวลาทำงานเกือบ 20%
Maniero

ฉันจะลองทำเสียงดังกังวานในโครงการข้ามแพลตฟอร์มที่ไม่ใช่มืออาชีพ ในความเป็นจริงนั่นคือสิ่งที่ฉันพยายามตอนนี้
Klaim

ขอบคุณ ความกังวลของฉันเกี่ยวกับอนาคตของโครงการ ฉันจะเริ่มต้นการทดสอบ แต่ฉันต้องการทำมากกว่านั้นในไม่ช้า
Maniero

หากเป็นโครงการระยะยาวอาจได้รับประโยชน์จาก CLang เมื่อคุณลักษณะมีความเสถียรถูกต้องปรับให้เหมาะสมและเต็มรูปแบบ C-0x (ถ้าคุณใช้ c ++) เพราะเป้าหมายคือการคอมไพเลอร์ที่เร็วกว่าและมีอยู่แล้ว และมันเป็นสิ่งสำคัญ
Klaim

1
เสียงดังกราวกำลังสร้าง iOS, Xcode และทุกอย่างที่ Apple กำลังจัดส่ง
Mike Weller

8

แน่นอนว่ามันพร้อมสำหรับ primetime บน Mac OS X เนื่องจากแอป Mac OS X จำนวนมากถูกรวบรวมโดยใช้เสียงดังกราว แต่ถึงแม้จะอยู่บนแพลตฟอร์มอื่น ๆ การสนับสนุน C นั้นค่อนข้างแข็งแกร่งและทีมได้ก้าวย่างที่ยอดเยี่ยมด้วยการสนับสนุน C ++

โดยทั่วไปแล้วเสียงดังกรังจะรวบรวมรหัสได้เร็วกว่า gcc แต่ gcc จะสร้างรหัสที่ปรับให้เหมาะสมที่สุด (มีกรณีขอบซึ่งกรณีนี้ไม่เป็นความจริง แต่โดยทั่วไปนั่นคือสถานะปัจจุบัน)


ฉันเห็นปัญหาเดียวกันเสียงดังกราวถูกผูกไว้กับ MacOS / BSD เกินไป
Maniero

ฉันลองใช้ CLang บน Windows 7 และทำงานได้อย่างถูกต้อง ฉันลองมันบน Ubuntu ด้วย ฉันคิดว่าข้อมูลของคุณไม่ทันสมัย ​​แต่นั่นเป็นตรรกะเนื่องจากมีการพยายามแก้ไขข้ามแพลตฟอร์มจำนวนมากในช่วงหลายเดือนที่ผ่านมา ดังนั้นอาจจะไม่เป็น mac-centric เลยเมื่อเวอร์ชั่นต่อไปหมด
Klaim

1
@ คำติชม: ฉันไม่ได้พูดเกี่ยวกับเสียงดังกราวต่อ seแต่เป็นระบบนิเวศทั้งหมด ฉันลองบางสิ่งบางอย่างเกี่ยวกับปัญหา Whiteout Win7 แต่เพียงแค่คอมไพเลอร์บน CLI
Maniero

ฉันพบว่าเสียงดังกราวสร้างไบนารีที่เร็วกว่า GCC สำหรับโครงการของฉัน อย่างน้อยก็ลองดูสิ
Kendall Hopkins

นอกจากนี้ยังเป็นคอมไพเลอร์เริ่มต้นสำหรับ iOS
mamcx

3

คุณไม่ควรใช้คอมไพเลอร์ตัวใดตัวหนึ่งยกเว้นว่าคุณต้องการจริงๆ ดังนั้นคุณควรจะสามารถเปลี่ยนคอมไพเลอร์ที่ Makefile หรืออะไรก็ได้และทุกอย่างจะทำงานได้ดี

ที่นี่ฉันใช้เสียงดังกราวเป็นส่วนใหญ่สำหรับโครงการของเล่นของฉันเพราะมันเร็วกว่าและสำคัญกว่ามาก: ข้อความแสดงข้อผิดพลาดชัดเจนขึ้น แต่เมื่อฉันต้องการใช้ gdb ฉันก็รวบรวมด้วย gcc และ -ggdb เสียงดังกังวานยังไม่สมบูรณ์และยังไม่สามารถเป็นคอมไพเลอร์ของฉันได้

(BTW: ฉันอยู่ใน x86 gentoo และโครงการอยู่ใน C และ C ++)

แก้ไข : ชี้แจง, เสียงดังกราวทำงานได้เร็วขึ้น (ในบางกรณีเร็วกว่ามาก) ฉันไม่สนใจเกี่ยวกับการปรับให้เหมาะสมที่สุด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.