我可以在DriverKit驱动程序中使用STL吗?

问题描述 投票:0回答:1

例如,我可以在macOs / XCode的DriverKit驱动程序中使用std::vector吗?

DriverKit具有一些容器类,例如OSArrayOSArray

如果创建新的“ DriverKit驱动程序”项目并包含https://developer.apple.com/documentation/driverkit/osarray?language=objc,则会出现构建错误。这些错误来自<vector>,错误为

<cstring>

No member named 'strcpy' in the global namespace

stl macos-catalina xcode11.4 driverkit macos-system-extension
1个回答
0
投票

据我所知,你不能。您最终提取的标头不是来自DriverKit SDK,它们是Xcode工具链随附的默认标头。他们假设一个正常的macOS构建环境,而不是dext环境。

链接到libc ++也会失败,即使是DriverKit SDK中包含的版本也是如此。我不知道为什么DriverKit SDK中包含该库的一个版本,但显然不打算在dexts中使用它。

大概没有什么特别阻止您包括其他一些容器库,甚至直接包括STL实现的一部分。不过,您可能需要手动连接内存分配调用。

© www.soinside.com 2019 - 2024. All rights reserved.