Бинарная настройка объектных файлов полностью различна. Кроме того, какие библиотеки доступны или как их назвать.
Просто сравните заголовок ELF или EXE-файла, чтобы увидеть, что я имею в виду.
Если вы пишете простую программу типа "main() {printf (" Hello \ n "), возвращаете 0; Работает на том же процессоре, не помогает, так как он может выполнять инструкции по сборке, но оно не будет ужасно, как только вызов первой функции ОС
Для разработки этого немного:.
Подобно тому, как exmaple Предположим, что мы работаем на Amiga OS с процессором Motorola 68000.
Если я правильно помню, вызывающие вызовы для вызова sys tem библиотеки включала загрузку указателей в адресный регистр ЦП и затем вызов функции ОС.
Теперь позвольте предположить, что я пишу свою собственную ОС также с использованием процессора Motorola 68000. Однако, когда я разрабатываю свою ОС, я думал, что гораздо лучше использовать стек для обмена данными, поэтому, когда вы вызываете аналогичную функцию в моей собственной частной ОС, вы не передаете адрес в регистре адресов, вместо этого вы нажимаете его на стек. Теперь, когда ваш исполняемый файл будет выполнен в моей ОС (предположим, что он может быть загружен, потому что я использую одну и ту же структуру объекта), ваш исполняемый файл будет помещать значения в регистр, и моя ОС попытается вытолкнуть их из стека, потому что это не знайте, что ценности, которые он искал, должны были быть другими.
Надеюсь, это немного более подробно, чтобы вы могли это понять, но, конечно, проблемы идут гораздо глубже, чем это, поскольку это всего лишь крошечная часть проблем.
Пожалуйста, объясните простыми словами. заранее спасибо –
Отредактировал текст с примером, чтобы проиллюстрировать, что я имею в виду. – Devolus
oh nice illustration..hy вы знаете какую-нибудь хорошую книгу, чтобы узнать, как компьютер работает прямо с машинного уровня (цифровая логика)? –