[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: уже совсем не хочется squirrelsh



Artem Chuprina пишет:
Не знаю как Витус, а я считаю ядро необычной, но программой.  Тут вот
еще недавно Форт упоминался.  Программы на котором изначально, как я
понимаю, были как раз такими - в смысле, работали на голом железе.

В любом случае для Форта тоже необходимо указать точку в хода в интерпретатор. В соответствии со стандартом это точка называется QUIT. Вы можете назвать её и по другому, но это вызовет большие сложности для понимания Вашего кода. Форт интерпретатору тоже необходимо явно называть имя слова, которое необходимо запустить. Компилирующему форту тоже и, кстати, во многих реализациях это слово называется MAIN.

Однако, в любом случае, все эти замены есть стандартное свойство Форта, в котором слова (проседуры) ядра ничем не отличаются от пользовательских. В C же другая ситуация -- для такой замены требуется перекомпиляция самого компилятора, что бы изменить startup. Переход на функцию main в C зашит в коде компилятора. В C Вы также не можете изменить семантику реакции компилятора на, скажем, фигурную скобку. Пропатчив компилятор на предмет фигурной скобки, Вы получите уже не C.

Понятно же, что есть прикладные программы, которые предназначены для загрузки операционной системой. C необходимо до запуска пользовательского кода произвести инициализацию. Для этого и зашито внутрь компилятора название функции, на которую надо передать управление после инициализации.

Загрузчик БИОС передаёт управление по определённому адресу, поэтому у процедура запуска меняется. Вряд ли ядро стоит называть прикладной программой, если не хотите запутать всех и себя в первую очередь.



Reply to: