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

ฉันสามารถใช้ฟังก์ชัน Newlib assert() สําหรับโครงการซอฟต์แวร์Nios IIที่คอมไพล์ด้วยแฟลกไลบรารี Small C ได้หรือไม่

สิ่งแวดล้อม

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

ฟังก์ชัน Newlib assert() จะเรียกฟังก์ชัน fiprintf ซึ่งไม่ได้รับการสนับสนุนโดยไลบรารี Nios® II Small C  อย่างไรก็ตาม คุณสามารถใช้ assert() โดยการปรับเปลี่ยนเพื่อใช้ fprintf แทน fiprintf  โดยคัดลอกไดเรกทอรีการติดตั้ง /bin/nios2-gnutools/src/newlib/newlib/libc/stdlib/assert.c ในโครงการไลบรารีระบบของคุณ  แล้วปรับเปลี่ยนการโทรไปยัง fiprint เพื่อเรียก fprintf แทน  กล่าวอีกนัยหนึ่ง ให้เปลี่ยนรหัสต่อไปนี้:

(void)fiprintf(stderr, "assertion \%s\ ล้มเหลว: ไฟล์ \%s\, บรรทัด %d\n", ล้มเหลว, ไฟล์, บรรทัด);

เพื่ออ่าน:

(void)fprintf(stderr, "assertion \%s\ ล้มเหลว: ไฟล์ \%s\, บรรทัด %d\n", failedexpr, ไฟล์, บรรทัด);

แล้วบันทึกไฟล์ assert.c ที่แก้ไขแล้วคอมไพล์โครงการของคุณใหม่  ขณะนี้คอมไพเลอร์จะรับสําเนาของ assert.c ในเครื่องแทนเวอร์ชันไลบรารี

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

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

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

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