คำถามติดแท็ก clang

5
เสียงสัญญาณเตือนดังกราวสำหรับการพัฒนา Objective-C
ในฐานะโปรแกรมเมอร์ C & Objective-C ฉันรู้สึกหวาดระแวงเล็กน้อยกับแฟล็กการเตือนของคอมไพเลอร์ ฉันมักจะพยายามค้นหารายการคำเตือนทั้งหมดสำหรับคอมไพเลอร์ที่ฉันใช้และเปิดใช้งานส่วนใหญ่ยกเว้นว่าฉันมีเหตุผลที่ดีจริง ๆ ที่จะไม่เปิดใช้งาน โดยส่วนตัวฉันคิดว่าสิ่งนี้อาจช่วยพัฒนาทักษะการเขียนโค้ดรวมถึงการพกพาโค้ดที่อาจเกิดขึ้นป้องกันปัญหาบางอย่างเนื่องจากมันบังคับให้คุณระวังทุกรายละเอียดเล็กน้อยการใช้งานที่อาจเกิดขึ้นและปัญหาด้านสถาปัตยกรรมและอื่น ๆ ... มันเป็นความคิดของฉันเป็นเครื่องมือการเรียนรู้ที่ดีทุกวันแม้ว่าคุณจะเป็นโปรแกรมเมอร์ที่มีประสบการณ์ สำหรับส่วนที่เป็นอัตนัยของคำถามนี้ฉันสนใจที่จะได้ยินนักพัฒนาอื่น ๆ (ส่วนใหญ่ C, Objective-C และ C ++) เกี่ยวกับหัวข้อนี้ คุณสนใจเกี่ยวกับสิ่งต่าง ๆ เช่นคำเตือนเกี่ยวกับเด็ก ๆ หรือไม่? และถ้าใช่หรือไม่ใช่ทำไม ตอนนี้เกี่ยวกับ Objective-C ฉันเพิ่งเปลี่ยนมาใช้LLVM toolchain (กับ Clang) แทน GCC ในรหัสการผลิตของฉันฉันมักจะตั้งค่าสถานะการเตือนนี้ (ชัดเจนแม้ว่าบางคนอาจจะครอบคลุมโดย -Wall): -ผนัง -Wbad ฟังก์ชั่หล่อ -Wcast ชิด -Wconversion -Wdeclaration หลังจากคำสั่ง -Wdeprecated-การใช้งาน -Wextra -Wfloat เท่ากับ …

4
GCC vs clang / LLVM - ข้อดีและข้อเสียของแต่ละ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา ข้อดีและข้อเสียของ GCC vs clang / LLVM คืออะไร
20 compiler  clang  gcc  llvm 

1
ทำไม LLVM จึงมี IR เหมือนการประกอบมากกว่า IR เหมือนต้นไม้ หรือ: ทำไมโครงการตั้งเป้าหมาย LLVM IR แทนที่จะเป็น AST เสียงดังกราว?
ทำไมแอสเซมบลีแทน LLVM ของกลาง (LLVM IR) จึงเป็นเหมือนต้นไม้มากกว่าต้นไม้ อีกทางหนึ่งทำไมการติดตั้งภาษาจึงตั้งเป้าหมาย LLVM IR มากกว่า AST ของเสียงดังกราว ฉันไม่ได้พยายามถามคำถามสองคำถามที่แตกต่างกันในครั้งเดียวถ้ามันเป็นอย่างนั้น สำหรับฉันดูเหมือนว่าทั้งไคลเอนต์และนักเขียนโปรแกรมไลบรารีได้รับความเห็นพ้องต้องกันว่า API ของ LLVM ไม่มีอะไรมากไปกว่าการออกแบบซอฟต์แวร์ที่ดีและคำถามของฉันก็คือ "ทำไม" เหตุผลที่ฉันถามคือดูเหมือนว่า LLVM สามารถให้ฟังก์ชันการทำงานมากขึ้นเพื่อ frontends หาก IR เป็นเหมือน AST เพราะเครื่องมือ AST ที่ใช้ clang ของ clang สามารถใช้กับส่วนหน้าใดก็ได้ อีกทางหนึ่งภาษาที่กำหนดเป้าหมาย LLVM IR สามารถรับฟังก์ชั่นการใช้งานได้มากกว่าหากพวกเขาตั้งเป้าหมาย AST ของเสียงดังกราว เสียงดังกังวานมีคลาสและฟังก์ชั่นสำหรับการสร้างและทำงานกับ AST และเป็นโครงการส่วนหน้าเดียวที่เชื่อมโยงอย่างยิ่งกับโครงการ LLVM ดังนั้นทำไมฟังก์ชั่น AST ของเสียงดังกราวจึงดังต่อไปยัง LLVM ฉันรู้ว่า Rust …

3
C ++: Metaprogramming ด้วย API คอมไพเลอร์มากกว่าด้วยคุณสมบัติ C ++
สิ่งนี้เริ่มต้นจากคำถาม SO แต่ฉันรู้ว่ามันค่อนข้างแปลกใหม่และตามคำอธิบายที่แท้จริงบนเว็บไซต์มันอาจจะเหมาะกว่าสำหรับ programmers.se เนื่องจากคำถามมีน้ำหนักเชิงแนวคิดจำนวนมาก ฉันได้เรียนรู้เสียงดังกังวาน LibToolingและเป็นเครื่องมือที่มีประสิทธิภาพมากที่สามารถเปิดเผย "nitty gritty" ทั้งหมดของรหัสด้วยวิธีที่เป็นมิตรกล่าวคือในทางที่เป็นความหมายและไม่ต้องเดาด้วยเช่นกัน ถ้าเสียงดังกราวสามารถรวบรวมรหัสของคุณแล้วเสียงดังกราวเป็นบางอย่างเกี่ยวกับความหมายของตัวละครทุกตัวเดียวภายในรหัสว่า ตอนนี้ให้ฉันถอยกลับสักครู่ มีปัญหาในทางปฏิบัติมากมายที่เกิดขึ้นเมื่อมีคนเข้าร่วมในเทมเพลต metaprogramming เทมเพลต C ++ (และโดยเฉพาะอย่างยิ่งเมื่อมีการใช้เทมเพลตเกินกว่าเทมเพลตเข้าไปในอาณาเขตของมาโครที่ชาญฉลาด ตามจริงแล้วสำหรับโปรแกรมเมอร์หลาย ๆ คนรวมถึงตัวเองการใช้งานเทมเพลตทั่วไปจำนวนมากก็ค่อนข้างน่ากลัวเช่นกัน ผมคิดว่าเป็นตัวอย่างที่ดีจะเป็นสตริงเวลารวบรวม นี่เป็นคำถามที่มีอายุเกินหนึ่งปีแล้ว แต่เป็นที่ชัดเจนว่า C ++ ณ ตอนนี้ไม่ได้ทำให้เป็นเรื่องง่ายสำหรับมนุษย์ปุถุชน ในขณะที่ดูตัวเลือกเหล่านี้ยังไม่เพียงพอที่จะทำให้เกิดอาการคลื่นไส้สำหรับฉัน แต่ก็ทำให้ฉันไม่มั่นใจเกี่ยวกับความสามารถในการสร้างรหัสเครื่องจักรที่มีประสิทธิภาพและมีประสิทธิภาพสูงสุดเพื่อให้เหมาะกับแอปพลิเคชันแฟนซีที่ฉันมีสำหรับซอฟต์แวร์ของฉัน ฉันหมายความว่าเรามาเจอกันคนอื่น ๆ สตริงนั้นค่อนข้างเรียบง่ายและเรียบง่าย พวกเราบางคนแค่ต้องการวิธีที่สะดวกในการปล่อยรหัสเครื่องที่มีสตริง "อบใน" อย่างมีนัยสำคัญมากกว่าที่เราจะได้รับเมื่อทำการเข้ารหัสในลักษณะที่ตรงไปตรงมา ในรหัส C ++ ของเรา ป้อน clang และ LibTooling ซึ่งแสดงแผนผังต้นไม้นามธรรม (AST) ของซอร์สโค้ดและอนุญาตให้แอปพลิเคชัน C ++ แบบกำหนดเองอย่างง่าย …

3
Clang / LLVM พร้อมสำหรับช่วงไพร์มหรือไม่? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา เสียงดังกราวสามารถใช้แทน gcc? ประสบการณ์ของคุณเกี่ยวกับสิ่งนั้น? มีข้อเสียอะไรบ้าง? ประสิทธิภาพของการคอมไพล์ดีกว่า gcc มาก แต่ประสิทธิภาพของโค้ดที่สร้างขึ้นเมื่อรันมัน? มีเครื่องมือที่ดีเป็น front-end (IDE) ให้ทำงานบน Linux หรือ Windows หรือไม่? แก้ไข: ฉันหมายถึงคอมไพเลอร์ C C ++ มันยังไม่ค่อยดีเท่าไหร่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.