有谁知道是否有 Symbian OS C++ Descriptors 功能到其他操作系统的工作端口?我记得这里有一些代码,虽然我上次测试它,但由于一些缺失/未定义的类型,它没有用 G++ 编译。
在此先感谢,泰森
我还没有看到这样的端口,但您可能希望等待即将发布的 Symbian Foundation 平台版本,其中大部分操作系统(包括描述符)都是在 EPL 许可下开放的。
这里有几件事需要考虑:
基本描述符 API 是 10 多年前编写的,用于响应一组特定的资源约束。虽然它们确实使 Symbian OS C++ 成为了今天的一个品种,但将它们移植到更新的操作系统上的理由充其量还是值得商榷的。
Symbian(好吧,现在是诺基亚)实际上至少拥有一项涉及描述符的专利。在您花费太多时间处理此问题之前,您可能想询问当描述符源代码开源时究竟应该发生什么。
一段时间以来,Symbian 生态系统实际上一直在努力完全摆脱描述符。在 OpenC/C++、QT 和新的 EUserHL 库之间,有非常可行的 C++ 替代描述符。
Symbian Developer Library 中的描述符文档实际上相当不错,您绝对可以将其用作将洁净室移植到另一个操作系统的基础。不过,对于大多数开发人员会积极尝试避免的事情来说,这是一项相当多的工作。
请记住,完整的描述符 API 依赖于各种 Symbian C++ 惯用语,例如 CBase、CCleanupStack、TReal……一个合适的端口肯定需要大量工作。当然,离开机制可以用标准的 C++ 异常来实现(因为这就是 Symbian 在摆脱中断时所做的),但仍然......
描述符本身并没有特定于平台的特性,一旦开源,您可以轻松地将它们从 Symbian 源代码移植到另一个平台(即重新编译它们)。但是,由于某些描述符函数“离开”,因此您也必须引入 Symbian 清理堆栈功能。
由于这些是 Symbian C++ 中最糟糕的(即最非标准和最令人讨厌的)位,我很好奇您为什么要这样做?