1

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

它成功构建。

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

谢谢。

4

1 回答 1

1

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

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

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

  • 如果您的用户空间应用程序将显式加载 kext,则通用 kext 主要有用。
  • I/O 套件 kext 可以在设备热插拔或系统启动时自动加载,因此如果您的 kext 没有某种用户空间触发器,它们通常是最有用的。
于 2014-09-25T13:31:51.347 回答