Member 13603741 Ответов: 1

Как связать с библиотеками C, Где мой окончательный файл будет выполнен в виртуальной машине qemu ! ?


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

Что я уже пробовал:

я построил образ ядра и протестировал его в Qemu без дополнительного модуля, который нуждается в C-библиотеках !

Richard MacCutchan

Вам нужно добавить библиотеки в свою виртуальную машину или связать их со статическими библиотеками, а не с библиотеками DLL.

Member 13603741

можем ли мы добавить библиотеки в виртуальную машину как qemu !?

Richard MacCutchan

Извините, я не знаю, что такое qemu.

Richard MacCutchan

Вы, вероятно, получите ответ быстрее в QEMU[^]

Member 13603741

большое вам спасибо ^^ , я постараюсь посмотреть на него ^_^ !

1 Ответов

Рейтинг:
1

Jochen Arndt

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

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