ID บทความ: 000082001 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 11/09/2012

spl_nand.c:36: คําเตือนอ้างอิงไปยัง .elf ที่ไม่ได้กําหนด: ละเว้นคําสั่งเดิมสําหรับnios_output_memory_accessเป้าหมาย', ที่ config/nios/nios.c:2540

สิ่งแวดล้อม

BUILT IN - ARTICLE INTRO SECOND COMPONENT
คำอธิบาย

ข้อผิดพลาดภายในนี้ในคอมไพเลอร์ GNU สําหรับโปรเซสเซอร์ Nios® สร้างข้อความคอมไพเลอร์ที่คล้ายกับต่อไปนี้:


arche_ds_01.c: ในฟังก์ชัน 'dispatch':
arche_ds_01.c:876: ออฟเซ็ตสําหรับ st/st8d/st16d ต้องอยู่ระหว่าง -1024 และ 1023:
(insn 106 1749 107 (ชุด (mem:QI (plus:SI (reg:SI 16 %l0)
(const_int -13476 [0xffffcb5c])) 0)
(reg:QI 2 %g2)) 1 {*movqi_internal} (nil)
(expr_list:REG_DEAD (reg:QI 2 %g2)
(expr_list:REG_DEAD (reg:SI 16 %l0)
(nil)))
arche_ds_01.c:876: ข้อผิดพลาดคอมไพเลอร์ภายในใน 'nios_output_memory_access' ที่ config/nios/nios.c:2540
โปรดส่งรายงานข้อผิดพลาดฉบับเต็ม
ดู สําหรับคําแนะนํา
เสียชีวิตที่ - บรรทัดที่ 85

การแก้ไขปัญหานี้คือการลดขนาดของตัวแปรท้องถิ่นที่ต่ํากว่าขีดจํากัด 1024 คํา  โดยการทําเช่นนี้ ให้ใช้กิจวัตร Alloca() เมื่อประกาศตัวแปรโลคัสขนาดใหญ่

ตัวอย่างเช่น แทนที่จะเป็นการรายงานภาษีต่อไปนี้

char dummy_string[buffer_length]

ใช้คําประกาศนี้:

char* dummy_string = alloca(buffer_length);

ผลิตภัณฑ์ที่เกี่ยวข้อง

บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

อุปกรณ์ที่ตั้งโปรแกรมได้ Intel®

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