gpt4 book ai didi

c++ - Qt 还是 Symbian C++?

转载 作者:IT老高 更新时间:2023-10-28 21:45:24 28 4
gpt4 key购买 nike

我打算在 Symbian 系统上进行开发,但我不熟悉它。我知道(可能是)在 Symbian 上最流行的开发方式是 Symbian C++,而且我还听说过 Qt。他们之间有什么区别?如果我希望我的应用程序在大多数 Symbian 系统上运行,我应该选择哪一个?有人可以给我一些总体建议吗?

谢谢~

最佳答案

Symbian C++ 是编写操作系统的 C++ 方言,从内核一直到应用程序框架。它在许多方面与标准 C++ 不同,这里列出了其中的一些:

  • 不使用异常; Symbian 使用自己的堆栈展开方法,称为“叶子”。主要原因是 Symbian 创建时 C++ 标准仍在开发中,当时编译器并未广泛支持异常。
  • 由于缺乏对异常的支持,动态分配内存的管理使用了一种称为清理堆栈的专有机制。
  • 虽然 STL 的一个端口现在可用于 Symbian,但这是最近的发展,因此操作系统有自己的字符串、数组、哈希等实用程序类。

综合起来,即使对于经验丰富的 C++ 程序员来说,学习 Symbian C++ 也会变得相当困难。尤其是清理堆栈和字符串类(称为描述符)通常会增加 Symbian C++ 开发的大量开销。

与任何操作系统一样,除了需要了解本地语言之外,您还需要了解与您的开发领域相关的库。 Symbian 有一组非常丰富的库,涵盖大量功能(线程、IPC、图形、多媒体、网络、位置、消息传递、PIM、电话等)。一旦您习惯了 Symbian C++ 习语,这些库通常非常强大并提供至少与其他平台相同的功能集。一个值得注意的异常(exception)是被称为 Avkon 的 UI 库,与其他平台上的相应框架相比,它现在已经过时了。

Qt旨在解决上面列出的一些问题,这些问题往往使人们远离 Symbian OS 的本地开发。具体来说,它支持更现代的 C++ 编程风格,并包含一组非常先进的图形/UI 库。今天,Qt is available for installation在最新的 Symbian 设备上。展望 future ,它将构成一个全新的应用程序框架的基础,将在 the platform 的 S^4 版本中引入。 (预计将在 2011 年发货的设备中使用)。

我应该指出的一点是,在这一点上,Qt 并没有涵盖 native 库的所有功能。从上面的列表中可以看出,虽然 Qt 提供了线程、IPC、图形、多媒体和网络的抽象,但它的核心库不包括定位、消息传递或 PIM 功能。因此,虽然您可以使用 Qt 编写(例如)FTP 客户端、绘图程序或媒体播放器,但不能使用它来编写消息传递客户端。因为 Qt 是 C++,您可以将它与原生 Symbian C++ 混合使用(例如,下拉到平台 API 以访问消息传递),但这有点复杂。

这个功能差距正在通过一个名为 Qt Mobility 的项目来解决。 ,其中将引入 Qt 库,涵盖位置、消息传递和 PIM 等领域。

总之,如果您是 Symbian 的新手,Qt 是一个可以学习的应用程序开发环境,这样做还有一个额外的好处,即您还可以在其他平台上开发 Qt 应用程序(因为它是一个跨平台的工具包)。

关于c++ - Qt 还是 Symbian C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2145003/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com