代码之家  ›  专栏  ›  技术社区  ›  foraidt

如何规避塞班命名约定?

  •  0
  • foraidt  · 技术社区  · 17 年前

    我即将编写一个C++库,它将被Windows应用程序以及Symbian使用。Linux不是当前的需求,但通常也应该是可能的。
    因此,我希望使用stl/boost命名约定,而不是 Symbian's 我觉得很难适应。
    这似乎已经出现了一个问题,当用碳化物C++编译代码时,它强制执行Symbian命名约定。

    如何使用“普通”名称并保持与Symbian兼容? 我首先想到的是有条件的- #define -但是我担心,这会导致混淆。

    如果不遵守塞班的命名约定,还会出现其他问题吗?

    1 回复  |  直到 17 年前
        1
  •  4
  •   laalto    17 年前

    编码约定并不严格。它们是为了让我们人类更容易理解代码。如果您正在编写一个多平台库,请随意使用您喜欢的任何约定。

    当然,您的库可能需要以某种方式与底层操作系统进行交互。在…的帮助下 Open C/C++ libraries 您可以做很多事情而不需要使用本地Symbian C++ API和它们的命名约定。

    在碳化物。C++中,您可能希望禁用COSUSENAND静态分析,因为它只对用Symbian C++编写的代码有用。

    综上所述,问题如下:

    • 来自本地Symbian C++背景的人不太熟悉你的约定。
    • 使用本机Symbian C++ API可以暴露一些特定于平台的特性(异常与叶、陷阱线束、活动调度器等)。
    • Symbian特定的静态分析器,如COSLUDANK假设Symbian C++代码风格,可能会产生错误/警告,而这些是你不需要关心的。