1

我正在使用 c++ 代码为核心逻辑开发一个适用于 android/iOS/windows 的应用程序。该应用程序使用免费的模糊逻辑库,它在 windows mobile、iOS 和我的本地 Ubuntu 机器上完美运行,但在 android 下不太适用。

应用程序从 sd 卡中读取一个 .fcl 文件,然后使用免费的模糊逻辑库解析器对其进行解析。问题是,解析器卡在随机的解析阶段。

我的项目设置的一些注释:

  • 我在 manifest.xml 中为 sdcard 启用了 Android 读/写权限。

  • 我尝试运行的代码是来自免费模糊逻辑库网站的基本示例。

  • 我正在使用 stlport_static 库来支持 stl 和 -frtti 编译器标志。

我的问题是:我是否缺少特定于 android 的内容,例如文件编码或我未设置的某些权限?

我想到的一些笔记:

  • 文件压缩应该不是问题,因为据我所知,SD 卡上的文件没有被压缩,我可以部分解析文件。

  • 使用其他模糊逻辑库是不可能的,因为我不能使用 GPL 许可的库。我发现的唯一其他库没有手册/如何,也无法解析 fcl 标准。

  • 免费的模糊逻辑库使用了很多 wchar_t 的 whitch 可能是个问题。

感谢您抽出宝贵时间,希望能得到一些帮助;)

4

1 回答 1

0

好的,在浏览了一些 android 手册和一些 Google 滥用之后,我发现了问题。目前 Android 不支持 wchar_t 类型。好吧,您可以使用它,但结果与在任何其他操作系统上的结果不同。

通过将免费模糊逻辑库中的所有 wchar_t 和 wstring 类型更改为它们相应的 char 和 string 类型,我能够使解析器工作。好吧,仍然有一些巧妙的不一致之处,但没有什么是我无法处理的;)。

结论:不要在 android c++ 程序中使用宽字符。

感谢您的时间和帮助

于 2012-11-30T10:15:40.903 回答