建设xnu&使用它@ Xcode

时间:2014-09-23 09:13:22

标签: xcode kernel kernel-extension xnu

我目前正在开发osx中的驱动程序,我在Xcode项目中使用XNU文件时遇到问题。我根据这里的说明建立了XNU: http://shantonu.blogspot.co.il/2013/10/building-xnu-for-os-x-109-mavericks.html

它成功构建。

我应该将它安装在XCODE的特定目录中以查找库和头文件吗?

感谢。

1 个答案:

答案 0 :(得分:1)

要开发用于常规OSX内核的内核扩展,您不应该使用自编译内核,而是使用Apple提供的Kernel.framework和Xcode以及捆绑的OS X SDK。如果您还在构建过程中使用Xcode,最简单的方法是使用其中一个kext目标模板(I / O Kit驱动程序或通用kext)来设置构建系统并包含kernel.framework。 / p>

如果您有一个现有的Xcode项目要添加一个kext构建,打开它并创建一个新目标,然后在"系统插件"下选择一个kext模板。在完全创建新项目时,您会得到相同的选择。

至于在两个模板之间进行选择:

  • 如果您的用户空间应用程序将显式加载kext,则通用kext主要非常有用。
  • I / O kit kexts可以在设备热插拔或系统启动时自动加载,因此如果您的kext没有某种用户空间触发器,它们通常是最有用的。