最近、シンプルな x86 オペレーティング システムの実装に関するチュートリアルを読んでいました。Linux システムにあまり詳しくないため、開発環境を構成するときに、スクリプト ファイル、Makefile、リンカー ld を作成する必要があることがわかりました。 「開発で使っています。とても面白かったです。コードが理解できず、どのように扱ったらよいかわかりません。アセンブリ言語の知識や Linux の操作を理解するにはどのような知識が必要かを先輩方に教えていただければ幸いです。」
これは Makefile コードです: ——————————————————————————————
C_OBJECTS = $(patsubst %.c, %.o, $(C_SOURCES))
S_SOURCES = $(shell find . - name "*.s")
S_OBJECTS = $(patsubst %.s, %.o, $(S_SOURCES))
LD = ld
ASM = nasm
LD_FLAGS = -T scripts/kernel.ld -m elf_i386 -nostdlib
ASM_FLAGS = -f elf -g -F 刺します
.c.o:
リーリー ###。それで:### リーリー ###リンク:### リーリー
.PHONY:クリーンクリーン:
リーリー.PHONY:update_image
update_image:
リーリー
.PHONY:マウントイメージ
リーリー
.PHONY:umount_image
リーリー
.PHONY:qemu
リーリー
.PHONY:bochs
リーリー
.PHONY:デバッグ
リーリー
#——————————————————————————————————————————————————————————————————
——————————————————————————————
kernel.ld -- カーネル形式用に書かれたリンク スクリプト*/
{
リーリー
これには組み立てを知る必要はありません。 Makefile と ld スクリプトを学ぶ必要があります。