[การสอนด้วยตนเอง] การเขียนระบบปฏิบัติการของฉันเอง inpsired โดย "เขียนระบบปฏิบัติการของคุณเอง" ซีรี่ส์ YouTube และ repo gitHub ที่เกี่ยวข้อง


g++ binutils libc6-dev-i386 xorriso grub-legacy
g++ binutils libc6-dev-i386 libisoburn mtools
make mykernel.iso
เมื่อรวบรวม GCC อาจให้ข้อผิดพลาด gdt.cpp:(.text+0xa2): undefined reference to `__stack_chk_fail_local' หากสิ่งนี้เกิดขึ้นให้สร้างฟังก์ชั่น __stack_chk_fail_local() ภายในไฟล์ gcc บอกว่าไม่พบมันโปรดทราบว่ามีเพียงหนึ่งในฟังก์ชั่นเหล่านี้ดังนั้นหากมีการใช้งานที่อื่นแล้วคุณจะต้องย้ายมัน เมื่อเขียนสิ่งนี้ฟังก์ชั่น __stack_chk_fail_local ถูกเขียนไว้แล้วใน myos/src/gdt.cpp หากเคยย้ายในที่เก็บนี้คุณสามารถค้นหาได้โดยค้นหา __stack_chk_fail_local ในคุณสมบัติ "ค้นหาในที่เก็บนี้" ของ GitHub
uint32_t __stack_chk_fail_local (){
return 0 ;
}ข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้ได้ถูกกล่าวถึงในที่เก็บอื่น