例如,我可以在macOs / XCode的DriverKit驱动程序中使用std::vector
吗?
DriverKit具有一些容器类,例如OSArray
OSArray
如果创建新的“ DriverKit驱动程序”项目并包含https://developer.apple.com/documentation/driverkit/osarray?language=objc,则会出现构建错误。这些错误来自<vector>
,错误为
<cstring>
No member named 'strcpy' in the global namespace
据我所知,你不能。您最终提取的标头不是来自DriverKit SDK,它们是Xcode工具链随附的默认标头。他们假设一个正常的macOS构建环境,而不是dext环境。
链接到libc ++也会失败,即使是DriverKit SDK中包含的版本也是如此。我不知道为什么DriverKit SDK中包含该库的一个版本,但显然不打算在dexts中使用它。
大概没有什么特别阻止您包括其他一些容器库,甚至直接包括STL实现的一部分。不过,您可能需要手动连接内存分配调用。