我正在研究 amr 语音编解码器(移植/优化) 我有一个来自 voiceage 的 arm(用于 WinCE)优化版本,我将它用作性能测试的参考。到目前为止,使用我的 lib 生成的二进制文件比另一个文件高 20-30%!我使用 Vs2008,但我只能使用 Microsoft 编译器生成的 ARM 指令集。所以我试图寻找替代编译器,看看会有什么性能差异。我有 RVCT 编译器,但它会生成 elf 二进制文件/目标文件。但是,我在 wince 手机 (TyTn 2) 上运行我的测试,所以我需要找到一种方法在 WinCE 上运行使用 RVCT 编译的代码。一些选项是 1) 生成汇编列表(armcc 的 -S 选项),
我的第一次尝试是使用一个导出函数创建一个简单的 c++ 文件,使用 RVCT 对其进行编译,然后尝试在智能手机上运行该函数。发出的程序集无法由 ms 汇编器组装(不仅它们不兼容,而且 ms 汇编器拒绝使用 RVCT 编译器生成的一些指令;在我的情况下为 ASR 操作码)然后我尝试将 ELF 对象转换为 coff 格式,我找不到任何相关信息。有一个用于 ce 的 gcc 端口,并且该工具集中的 objcopy 应该能够完成该任务。但是,我无法让它工作。我尝试了不同的开关,但我不知道我需要为输入和输出格式指定什么作为 bfdname。所以,我也无法让它工作。使用 fromelf 转储并使用生成的 bin 文件似乎有点过头了,所以我决定问你们是否有什么我应该尝试做的,或者也许有人已经完成了类似的任务并且可以帮助我。基本上,我想做的就是用 RVCT 编译器编译我的代码,看看性能差异是什么。我的代码对任何 c 运行时函数的依赖性为零。
谢谢!