2016-09-15 12 views
3

Я пробовал почти каждый компилятор C с каждой настройкой, и мне еще предстоит найти компилятор C, который может скомпилировать C в код Intel x86, подходящий для разработки ядра Real Mode. Мне не нужны шпионы о том, почему вы должны использовать защищенный режим; Мне просто нужно знать, какой компилятор C (и, если необходимо, какие параметры его запускать) требуется для компиляции 16-битного автономного двоичного кода без зависимости от ОС и т. Д. Просто голый металл в реальном режиме и ничего более.16-разрядный компилятор C для разработки ядра реального режима?

Я уверен, что это не дубликат [16-битного кода C для ядра реального режима]: 16 bit C code for real mode kernel, потому что они приняли переход в защищенный режим в качестве ответа, и я прямо заявил, что результат ДОЛЖЕН работать в реальном режиме ,

+0

«Я знаю, что это не в тему, но я все равно отправлю его и поставлю бремя на читателя, чтобы сообщить мне, где я должен был бы разместить его». Хм, нет. Это не так, как это работает ... – John3136

+0

Почему именно мой вопрос был проголосован? Простой «Этот вопрос принадлежит ________, а не здесь» хватило бы. –

+0

@ John3136 Ну, где вы предлагаете задать этот вопрос? Есть ли еще одна ветка StackOverflow, которая подходит для этой категории? –

ответ

-3

C не является языком, предназначенным для работы в реальном режиме, и, к сожалению, не позволяет выполнить 16-разрядную компиляцию.

Используйте сборку NASM или любой другой язык ассемблера, чтобы получить то, что вы хотите. его небольшая кривая обучения, но как только он щелкнет ваше понимание того, как функционирует компьютер, и OSDev будет летать, хотя крыша.

Я предлагаю смотреть на этой вики и форум полный единомышленников и учебники http://wiki.osdev.org/Main_Page

Успехов!

+0

Я очень ценю ваш подробный ответ со ссылками и объяснениями, но я хорошо знаком с osdev (я там член :) Я свободно владею сборкой синтаксиса Intel и постоянно использую NASM .. Мне просто интересно если бы C мог выполнить эту работу. Я надеялся, что это можно сделать, но, о, хорошо .. Спасибо :) –

+0

От исследований и до этого я пришел к выводу, что C не является жизнеспособным вариантом для реального режима :(жаль, что я не мог помочь :) – teenHack42

+0

On наоборот! Ты помог. Вы ответили на мой вопрос, поскольку на это нужно было ответить, и это все, что я просил, так что спасибо. :) –