OSX创建C ++内核扩展

时间:2014-01-26 23:03:56

标签: c++ macos kernel osx-mavericks kernel-extension

我正在尝试创建一个在OS X 10.9上运行的kext。目前,当我创建新项目时(在Xcode中,我给出了一些我可以覆盖的方法(cckext_start()cckext_stop())的模板。这一切都很好但是我宁愿创建我的使用c ++进行扩展。

这是:

  1. 可能的?
  2. 糟糕的做法?
  3. 如果是这样,我该怎么做?

2 个答案:

答案 0 :(得分:3)

是的,有可能。事实上,内核API或KPI主要是用C ++编写的。 Kernel Extension Programming GuideI/O Kit Fundamentals可以帮助您入门。

答案 1 :(得分:1)

OSX是为使用C ++开发的Kext而设计的,可以方便快捷地从基类继承供您自己使用,例如IOService,IOAudioDevice,IOBlockStorageDevice等。

如果您不熟悉kext编程,我强烈建议您投资本书OS X and iOS Kernel Programming,因为其中大部分专门用于驱动程序和Kext开发,并提供了良好的示例代码。