首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在DriverKit驱动程序中使用STL吗?

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

Stack Overflow用户
提问于 2020-05-14 20:17:44
回答 1查看 165关注 0票数 2

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

DriverKit有一些容器类,比如OSArray https://developer.apple.com/documentation/driverkit/osarray?language=objc

如果我创建了一个新的"DriverKit driver“项目并包含了<vector>,那么我就会得到构建错误。这些错误来自于包含<cstring>,错误是

No member named 'strcpy' in the global namespace

No member named 'strcat' in the global namespace

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-15 21:27:00

据我所知,你不应该这么做。您最终拉入的头文件不是来自Xcode,它们是DriverKit编译器工具链附带的默认头文件。它们假设是一个普通的macOS构建环境,而不是dext环境。DriverKit开发工具包不包含C++标准库头文件,只包含C标准库的一个子集的一些精简头文件。因此,缺少了strcpystrcat

即使是DriverKit软件开发工具包中包含的版本,与libc++的链接也会失败。我不知道为什么在DriverKit开发工具包中包含该库的一个版本,但它显然不是为在dexts中使用而设计的。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61797150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档