Как использовать libstdc на Bare Metal?

Ну то есть stdio.h и прочих в ядре использовать?
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Есть по-разному устроенные libc, некоторые из них можно приспособить для работы в ядре. Для начала нужно понимать, что в libc есть часть, которая совсем не зависит от ОС (например все функции mem*() или большинство функций str*()), есть часть, зависимость которой от ОС реализована в терминах других функций libc (например printf() может выделять память и может записывать в файл, но обе эти функции уже реализованы в других местах libc), а есть часть напрямую взаимодействующая с ОС.
Некоторые libc написаны так, что эта последняя часть чётко отделена (например newlib) и для адаптации к другой ОС или к окружению внутри ядра нужно реализовать небольшое количество интерфейсов (для newlib это будет вариант libgloss).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@historydev
Никак
Ответ написан
Комментировать
includedlibrary
@includedlibrary
Как верно заметили выше, никак. Но вообще, в ядре можно свои аналогичные функции написать, правда, они не всегда будут иметь тот же интерфейс, что и функции из стандартной библиотеки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы