Я пытаюсь напечатать строку так, как она нейтральна для ОС. Например, программа должна работать на Windows так же, как и на * nix.Как печатать строку в OS-нейтральном режиме?
Возможно ли это? Я предполагаю, что, поскольку базовая архитектура такая же (x86), что метод будет таким же. Это так же просто, как вызов прерывания?
Причина в том, что я пытаюсь написать компилятор, который генерирует код сборки - на этом раннем этапе его разработки присутствует только несколько функций - я хотел бы иметь возможность протестировать сгенерированную сборку кода в Windows или * nix. В будущем невозможно поддерживать нейтральность платформы при создании того же кода, но в основном все, что я хочу сделать в этот момент, - это напечатать строку.
Но как связывается с 'libc' платформой-нейтраль? –
+1 - Я должен согласиться - вы не сможете использовать независимое от платформы прерывание, чтобы выполнить это - если по совпадению или, может быть, по конструкции прерывание INT 10h поддерживается на обоих. В качестве альтернативы создайте себе небольшую библиотеку функций для вывода строк и вызовите соответствующие прерывания (если вывод строки Linux основан на прерываниях) в зависимости от платформы. –
@George, я бы рискнул предположить, что на большинстве платформ есть 'libc'. Скорее всего, оболочка, из которой вы запускаете свою программу, была построена, например. –