คำถามในหัวข้อ 'compiler-construction'

จะใช้แฟล็ก -MG ใน cc 4.4.1 ได้อย่างไร
ฉันเพิ่งอัปเกรดการติดตั้ง Ubuntu จาก Jaunty เป็น Karmic เห็นได้ชัดว่ารวมถึงการอัปเดตคอมไพเลอร์ GNU C ด้วย เนื่องจากโค้ดที่คอมไพล์ก่อนหน้านี้ไม่มีอีกต่อไป การรัน cc 4.4.1 (Ubuntu 4.4.1-4ubuntu8) ตอนนี้สร้างข้อผิดพลาดต่อไปนี้ในโค้ดที่ทำงานได้ดีใน cc...
917 มุมมอง

ฉันจะรวบรวมโค้ด C++/CLI สำหรับ Silverlight ได้อย่างไร
ฉันมีไลบรารี C++/CLI ที่ฉันต้องการใช้ในแอปพลิเคชัน Silverlight ควรจะเป็นไปได้ที่จะเขียนโค้ดสำหรับ Silverlight ในภาษา .NET ใดก็ได้ แต่จนถึงตอนนี้ฉันเพิ่งหาวิธีคอมไพล์ C# เท่านั้น ดูเหมือนว่า Silverlight จะไม่สามารถใช้ DLL ที่คอมไพล์สำหรับ .NET ได้...
3659 มุมมอง

IBM XL C/C++ Compiler: ตรวจสอบโหมดคอมไพเลอร์โดยใช้คำสั่งตัวประมวลผลล่วงหน้า
ฉันกำลังพยายามคอมไพล์ไฟล์ c++ ตัวอย่าง test.cpp โดยใช้คอมไพเลอร์ IBM xlC บนระบบ AIX ไฟล์ควรได้รับการคอมไพล์ทั้งในโหมด 32 บิตและ 64 บิต ฉันใช้คำสั่งต่อไปนี้เพื่อคอมไพล์ในทั้งสองโหมด: xlC test.cpp (โหมดคอมไพเลอร์เริ่มต้นคือ 32 บิต) xlC -q64...
2923 มุมมอง
schedule 15.12.2023

สะพาน Objective-C / Cocoa ใน PHP?
มี Objective-C หรือ Cocoa Bridge/Connector ที่ดีสำหรับ PHP หรือไม่ ฉันสนใจในการพัฒนา Mac แต่อยากทำด้วย PHP คงจะดีไม่น้อยหากคุณสามารถแนะนำคอมไพเลอร์ PHP สำหรับ Mac ให้ฉันได้เช่นกัน หมายเหตุ: ฉันรู้จักแอปที่มีลักษณะคล้าย Titanium อยู่แล้ว...
1337 มุมมอง

ฉันจะสร้างไฟล์ .exe PE ที่ปฏิบัติการได้ด้วยตนเองได้อย่างไร
ข้อความทั้งหมดเกี่ยวกับวิธีสร้างคอมไพเลอร์หยุดหลังจากอธิบาย lexers และ parsers พวกเขาไม่ได้อธิบายวิธีสร้างรหัสเครื่อง ฉันต้องการที่จะเข้าใจกระบวนการตั้งแต่ต้นจนจบ ปัจจุบันสิ่งที่ฉันเข้าใจคือรูปแบบไฟล์ exe ของ Windows เรียกว่า Portable Executable...
7865 มุมมอง

เหตุใดค่า Null แบบสั้นจึงถูกแปลงเป็นค่า Null int เพื่อเปรียบเทียบกับค่า Null
เมื่อฉันเปรียบเทียบค่าแบบสั้นที่เป็นโมฆะ คอมไพลเลอร์จะแปลงค่าเหล่านี้เป็นจำนวนเต็มก่อนเพื่อทำการเปรียบเทียบกับค่าว่าง ตัวอย่างเช่น ลองพิจารณาโค้ดง่ายๆ นี้: short? cTestA; if (cTestA == null) { ... } มันถูกแปลงโดยคอมไพเลอร์เป็น: short?...
5448 มุมมอง
schedule 11.01.2024

รายการ Initializer สำหรับวัตถุที่มีตัวสร้างเริ่มต้น
มีประโยชน์ใด ๆ ในการวางตัวแปรสมาชิกคลาสในรายการตัวเริ่มต้นที่ไม่จำเป็นต้องอยู่ในรายการตัวเริ่มต้นหรือไม่? ตัวอย่าง: class Foo { public: Foo() {} }; class Bar { public: Bar() : _foo() {} private: Foo _foo; };...
15242 มุมมอง

คอมไพเลอร์จะปรับอาร์กิวเมนต์ที่ไม่ได้ใช้ของฟังก์ชันคงที่ให้เหมาะสมหรือไม่
ฉันมีกลุ่มของฟังก์ชันที่ประกาศไว้ทั้งหมดเป็น static และ fastcall ส่วนใหญ่ใช้ตัวชี้ไปยังโครงสร้างที่รองรับบทบาทของ this ใน C++ ไม่มากก็น้อย ฟังก์ชั่นบางอย่างไม่ต้องการอะไรในโครงสร้าง แต่เพื่อความสม่ำเสมอฉันอยากจะส่งต่อตัวชี้ให้พวกเขาต่อไป...
2431 มุมมอง

การรวบรวม LLVM Edge Profiling ด้วย llvm-prof
ฉันใช้คำสั่งเหล่านี้เพื่อรวบรวมโค้ดด้านล่างเพื่อรวบรวมโปรไฟล์ edge/blocks ใน trunk-llvm: clang -emit-llvm -c sort.c -o sort.bc opt -insert-edge-profiling sort.bc -o sort_prof.bc clang sort_prof.bc -lprofile_rt -L/llvms/lib -o sort_prof...
1979 มุมมอง
schedule 07.01.2024

คอมไพเลอร์รวบรวมไฟล์ส่วนหัวที่รวมไว้ทั้งหมดพร้อมกับโปรแกรมหลักทุกครั้งที่เราคอมไพล์โปรแกรมนั้นหรือไม่?
ตาม Wikipedia นี่คือสิ่งที่ C preprocessor ทำ: "ตัวประมวลผลล่วงหน้าจะแทนที่บรรทัด #include <stdio.h> ด้วยข้อความของไฟล์ ' stdio.h ' ซึ่งประกาศฟังก์ชัน printf() เหนือสิ่งอื่นใด" แล้วถ้าเป็นเช่นนั้นจริง...
1109 มุมมอง
schedule 19.12.2023

Waf: รวบรวมไฟล์ต้นฉบับแบบเรียกซ้ำและรวมเส้นทาง
โครงสร้างโครงการ C-gcc ของฉันคือ: \Project\wscript (only one in project) \Project\build\ \Project\Source\Module_1\foo.c \Project\Source\Module_1\foo.h \Project\Source\Module_1\dummy\foo2.h \Project\Source\Module_n\bar.c...
2246 มุมมอง
schedule 06.01.2024

แผนผังไวยากรณ์นามธรรมสามารถคอมไพล์โดยคอมไพเลอร์หรือล่ามหลายตัวได้หรือไม่
ฉันรู้ว่าไม่มีภาษาโปรแกรมใดที่เข้ากันได้อย่างสมบูรณ์แบบ แต่ฉันอยากถามว่าฉันมีโปรแกรมง่ายๆ อย่าง Hello World หรือไม่ และฉันใช้ขั้นตอนการแปลการคอมไพล์ เช่น lex แยกวิเคราะห์ แล้วรับแผนผัง AST ฉันสามารถส่งมันไปยังสภาพแวดล้อมอื่นได้หรือไม่ โดยบอกว่า AST...
1006 มุมมอง

สร้างตัวอย่าง LLVM: สัญลักษณ์ที่ไม่ได้กำหนดสำหรับสถาปัตยกรรม x86_64
ฉันติดตั้ง LLVM บนแล็ปท็อปแล้ว แต่มีปัญหาในการคอมไพล์ตัวอย่าง Fibonacci ใน llvm/examples/Fibonacci : เสียงดังกราว++ -std=c++11 -I ../../include fibonacci.cpp -o fib /usr/local/include/llvm/Support/DataTypes.h:57:3: error: "Must...
3494 มุมมอง
schedule 31.12.2023

JavaCC สร้างรหัสที่ไม่ทำงาน
ฉันใช้ JavaCC เป็นครั้งแรก และฉันสังเกตเห็นว่ามันสร้างโค้ดที่ไม่ทำงานจำนวนมาก มีหลายบรรทัดที่ดูเหมือน (ขออภัยการเว้นวรรค มันเป็นอัตโนมัติ): {if ("" != null) return result;} throw new Error("Missing return statement in function"); }...
350 มุมมอง
schedule 10.12.2023

ความแตกต่างระหว่างไลบรารีแบบคงที่และไลบรารีแบบไดนามิกโดยไม่สนใจว่าตัวเชื่อมโยง/ตัวโหลดใช้งานอย่างไร
ฉันเข้าใจว่าไลบรารีแบบคงที่/ไดนามิกถูกใช้โดยตัวเชื่อมโยง/ตัวโหลดอย่างไร อย่างไรก็ตาม เหตุใดจึงไม่มีไฟล์ไลบรารีประเภทเดียวที่มาพร้อมกับแฟล็กคอมไพเลอร์ซึ่งระบุว่าควรเชื่อมโยงไลบรารีอย่างไร (คงที่และไดนามิก) จากข้อเท็จจริงง่ายๆ...
915 มุมมอง

เหตุใด NASM จึงไม่มีปัญหากับการจำคำสั่งที่ถูกต้องเป็นชื่อสัญลักษณ์ในตัวถูกดำเนินการ
ฉันเขียนโปรแกรมง่ายๆ ต่อไปนี้ แต่ nasm ปฏิเสธที่จะคอมไพล์มัน section .text global _start _start: mov rax, 0x01 mov rdi, 0x01 mov rsi, str mov rdx, 0x03 syscall mov rax, 60 syscall segment .data str db 'Some...
139 มุมมอง

Lexers ที่ขับเคลื่อนด้วยตาราง - แล้วคำสำคัญที่สงวนไว้ล่ะ
คำถามนี้เกิดจากคำถามอื่นที่ฉันถามในเว็บไซต์ CS ข้อมูลอ้างอิง ฉันได้ลองค้นหาบันทึกหลักสูตรออนไลน์จากมหาวิทยาลัยต่างๆ เพื่อหาคำตอบสำหรับปัญหาที่ฉันกำลังเผชิญอยู่ ฉันต้องใช้คอมไพเลอร์สำหรับภาษาที่กำหนดเองสำหรับงานที่ได้รับมอบหมาย...
164 มุมมอง