Грубо говоря, чтобы использовать C ++ в ядре, вы должны избавиться от всех зависимостей библиотеки времени выполнения C ++, в первую очередь вам следует переопределить new/delete
и удалить обработку исключений (скомпилировать с -fno-exceptions
).На самом деле, если 32-битный код работает, эти простые случаи уже должны быть разрешены.
Просто попробуйте скомпилировать и загрузить модуль.Если вам повезет, ошибок связывания не будет, и у вас есть хорошие шансы для работы модуля (по модулю обычного набора кроссплатформенных проблем, таких как размеры структуры и выравнивание).Если вы этого не сделаете, вы получите список неопределенных символов, которые подскажут вам, что следует реализовать или обойти.