Я пытаюсь создать kext для запуска на OS X 10.9. В настоящее время, когда я создаю новый проект (в XCode мне дают шаблон c с некоторыми методами, которые я могу переопределить (cckext_start()
а также cckext_stop()
). Это все хорошо, но я бы предпочел создать свое расширение, используя c ++.
Это:
Если так, как я могу это сделать?
Да, это возможно. На самом деле, API ядра, или KPI, в основном написано на C ++. Руководство по программированию расширения ядра а также Основы I / O Kit должен начать вас.
OSX разработан для того, чтобы Kext разрабатывался на C ++, что позволяет легко и быстро наследовать базовые классы для собственного использования, таких как IOService, IOAudioDevice, IOBlockStorageDevice и т. Д.
Если вы новичок в программировании kext, я настоятельно рекомендую инвестировать в книгу Программирование ядра в OS X и iOS, поскольку большая часть этого посвящена разработке драйверов и Kext, с хорошим примером кода.