"30 hari sistem operasi buatan sendiri" (ditulis oleh hikaru kawasaki) adaptasi kode pendukung. Karena penulis menggunakan satu set alat non-standar yang ia tulis sendiri dan tidak dapat berjalan pada platform non-windows, proyek ini menggunakan NASM, GCC, QEMU dan alat lain untuk dikompilasi dan dijalankan berdasarkan kode asli.
Proyek ini telah menyelesaikan isi hari ke -0 hingga 28 (tidak termasuk bagian tampilan Jepang pada hari ke -28), dan implementasi utama proyek telah selesai. Karena isi dari dua bab terakhir dari buku ini lebih berorientasi pada aplikasi, itu tidak diimplementasikan dalam proyek ini. Teman yang tertarik dapat terus menyelesaikannya berdasarkan pada dasar sebelumnya.
nasmgccbinutilsqemu-system-i386mtoolsgdb (Penggunaan Debug)Alat baris perintah XCODE default menggunakan GCC sebagai alias untuk dentang di bawah macOS. Clang belum diuji dalam implementasi proyek ini, dan mungkin ada masalah.
Dianjurkan untuk menggunakan toolchain x86_64-elf-gcc untuk kompilasi di bawah Mac. Anda dapat menggunakan brew install x86_64-elf-gcc x86_64-elf-binutils x86_64-elf-gdb untuk diinstal.
Masukkan folder yang sesuai dan jalankan dengan perintah berikut:
$ make qemu
# 若使用工具链包含前缀,如x86_64-elf-,可以使用GCCPREFIX
$ make qemu GCCPREFIX=x86_64-elf- Untuk men -debug menggunakan GDB, atur DEBUG :
$ make qemu DEBUG=1app : Kode Sumber Aplikasiinclude : file header kernel sistemkernel : Kode Kernel Sistemlibc : Implementasi Parsial Perpustakaan Standar Sederhana C strcmpstrncmpLihat Implementasi XV6:
vsprintfsprintfDari "C Bahasa Pemrograman":
randProyek ini tidak akan terus menambahkan konten dari hari ke -29 dan hari ke 30. Teman yang tertarik dapat terus membaca bab -bab berikutnya.
io_sti bukan io_stihlt __alloca tidak valid pada hari ke 28, sosu2 tidak bisa berlari Hak cipta kode dalam proyek ini terutama milik penulis asli. Saya hanya membuat modifikasi parsial ke kode untuk bagian yang tidak dapat dijalankan secara langsung.