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

3
วิธีการเรียกใช้รหัส C ++ ในเบราว์เซอร์โดยใช้ asm.js?
แอปพลิเคชัน asm.js นั้นเร็วมาก (ใกล้กับความเร็ว C ++ ดั้งเดิม): http://kripken.github.io/mloc_emscripten_talk/micro4b.png แต่มันเป็นไปได้อย่างไรที่จะเขียนมันใน C ++, แปลงเป็นรหัส LLVM, แล้วใช้เล่ห์เหลี่ยมกับ emscripten / asm.js? ฉันไม่พบบทช่วยสอนเกี่ยวกับเรื่องนี้ และถ้าฉันเขียนโค้ดใน C ++ แล้วจะใช้ js API-s เช่น XMLHttpRequest, WebSockets, Canvas หรือ WebGL ได้อย่างไร
21 c++  javascript  llvm 

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 …

4
LLVM อยู่ในระดับต่ำในทางใด?
ในสิ่งที่วิธี (s) LLVM (ระดับต่ำเครื่องเสมือน)ระดับต่ำ? (ในขณะที่เขียนฉันไม่พบการขยายตัวย่อ "LLVM" นี้บนเว็บไซต์ แต่บน Wikipedia ) มันเรียกว่า "ระดับต่ำ" ในสิ่งที่มันออกแบบมาสำหรับ (โครงสร้างพื้นฐานคอมไพเลอร์) หรือเพราะมันทำงานใน "ระดับที่ต่ำกว่า" กว่าเครื่องมืออื่น ๆ ? ในฐานะที่เป็น "ภาพประกอบ" ของสิ่งนี้ LLVM อยู่ในระดับต่ำกว่าJVMและCLRหรือมันถูกออกแบบมาสำหรับการใช้ "ระดับล่าง" เท่านั้นหรือไม่

1
รหัสเครื่อง JIT และบิต Execution Disable
รหัสเครื่องที่สร้างจากรันไทม์เป็นอย่างไร (เช่นผลลัพธ์ของ JIT) ซึ่งดำเนินการโดย CPU จริง ๆ ถ้า CPU / OS มีบิต Execution Disable? เท่าที่ฉันทราบตัวประมวลผลและระบบปฏิบัติการที่ทันสมัยหลายตัวรวมถึงการสนับสนุน NX บิต (รวมถึง Intel และ ARM) ซึ่งป้องกันรหัสเครื่องที่เก็บไว้ที่อยู่อื่นนอกเหนือจากส่วนรหัสของไบนารีที่รวบรวมจากการถูกประมวลผล เห็นได้ชัดว่านี่เป็นข้อได้เปรียบด้านความปลอดภัยที่ดีเพราะมันป้องกันการโจมตีการฉีดรหัสเชลล์ แต่เครื่องยนต์ของ JIT เช่น LLVM ซึ่งสร้างรหัสเครื่องจักรแบบไดนามิกได้รับสิ่งนี้ได้อย่างไร
10 machine-code  jit  llvm 

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