[التدريس الذاتي] كتابة نظام التشغيل الخاص بي. inpsired بواسطة سلسلة YouTube الخاصة بـ "Write"


g++ binutils libc6-dev-i386 grub-legacy xorriso
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 ;
}تمت مناقشة مزيد من المعلومات حول هذه المشكلة في مستودع آخر