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

ทําไมฉันจึงได้รับข้อผิดพลาด "การอ้างอิงที่ไม่ได้กําหนดไปยัง 'getc'" เมื่อพยายามใช้ alt_getchar() กับ Nios II

สิ่งแวดล้อม

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

ปัญหานี้สามารถเห็นได้เมื่อมีการเลือกทั้งตัวเลือก "เปิดใช้งานไลบรารีขนาดเล็ก C" และไม่ได้ทําเครื่องหมายที่ตัวเลือก "เปิดใช้งานไดรเวอร์อุปกรณ์น้ําหนักเบา"

ตัวเลือก "เปิดใช้งานไลบรารีขนาดเล็ก C" มีผลจากการลบฟังก์ชันจํานวนหนึ่งออกจากแพ็คเกจการสนับสนุนบอร์ด Nios II (BSP) รวมถึงกิจวัตร STDIN  ฟังก์ชันเหล่านี้รวมถึง getchar() ประจําซึ่งเรียกว่า getc()

"Enable Lightweight Device Driver API" จะปรับฟังก์ชันalt_getchar(), alt_putstr(), alt_printf() และ alt_putchar()  หากไม่ได้เลือกตัวเลือกนี้ ฟังก์ชันเหล่านี้จะเรียก C library เทียบเท่ากับ getchar(), putstr(), printf() และ putchar() โดยตรง

ดังนั้นเมื่อเลือก "เปิดใช้งานไลบรารีขนาดเล็ก C" และทําเครื่องหมาย "Enable Lightweight Device Driver API" แล้ว alt_getchar() จะถูกแมปกับฟังก์ชัน getchar() ซึ่งไม่ได้อยู่ในไลบรารีอีกต่อไป

ในการใช้ฟังก์ชันalt_getcharให้สําเร็จ ผู้ใช้จําเป็นต้องยกเลิกการเลือก "เปิดใช้งานไลบรารีขนาดเล็ก C" หรือเปิดใช้งาน "เปิดใช้งาน API ไดรเวอร์อุปกรณ์น้ําหนักเบา" ในการตั้งค่า BSP

ความละเอียด

ปัญหานี้สามารถเห็นได้เมื่อมีการเลือกทั้งตัวเลือก "เปิดใช้งานไลบรารีขนาดเล็ก C" และไม่ได้ทําเครื่องหมายที่ตัวเลือก "เปิดใช้งานไดรเวอร์อุปกรณ์น้ําหนักเบา"

ตัวเลือก "เปิดใช้งานไลบรารีขนาดเล็ก C" มีผลจากการลบฟังก์ชันจํานวนหนึ่งออกจากแพ็คเกจการสนับสนุนบอร์ด Nios II (BSP) รวมถึงกิจวัตร STDIN  ฟังก์ชันเหล่านี้รวมถึง getchar() ประจําซึ่งเรียกว่า getc()

"Enable Lightweight Device Driver API" จะปรับฟังก์ชันalt_getchar(), alt_putstr(), alt_printf() และ alt_putchar()  หากไม่ได้เลือกตัวเลือกนี้ ฟังก์ชันเหล่านี้จะเรียก C library เทียบเท่ากับ getchar(), putstr(), printf() และ putchar() โดยตรง

ดังนั้นเมื่อเลือก "เปิดใช้งานไลบรารีขนาดเล็ก C" และทําเครื่องหมาย "Enable Lightweight Device Driver API" แล้ว alt_getchar() จะถูกแมปกับฟังก์ชัน getchar() ซึ่งไม่ได้อยู่ในไลบรารีอีกต่อไป

ในการใช้ฟังก์ชันalt_getcharให้สําเร็จ ผู้ใช้จําเป็นต้องยกเลิกการเลือก "เปิดใช้งานไลบรารีขนาดเล็ก C" หรือเปิดใช้งาน "เปิดใช้งาน API ไดรเวอร์อุปกรณ์น้ําหนักเบา" ในการตั้งค่า BSP

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

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

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

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