- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在研究 amr 语音编解码器(移植/优化)我有一个来自 voiceage 的 arm (for WinCE) 优化版本,我用它作为性能测试的引用。到目前为止,用我的库生成的二进制文件比另一个库生成的二进制文件高出大约 20-30%!我使用 Vs2008,并且我对使用 Microsoft 编译器生成的 ARM 指令集的访问权限有限。所以我试图寻找替代编译器来查看性能差异。我有 RVCT 编译器,但它会生成 elf 二进制文件/目标文件。但是,我在 wince 手机 (TyTn 2) 上运行我的测试,所以我需要找到一种方法来在 WinCE 上运行使用 RVCT 编译的代码。一些选项是1) 生成汇编列表(armcc 的-S 选项),并尝试与其他可以创建COFF 的汇编程序(ARM 的MS 汇编程序)进行汇编2) 编译生成的 ELF 对象文件并将其转换为 COFF 对象(似乎 gnu binutils 的 objcopy 可以帮助我)3) 使用 RVCT 提供的 fromelf 实用程序创建 BIN 文件并尝试以某种方式破坏这些位以便我可以执行它们;)
我的第一次尝试是创建一个带有一个导出函数的简单 C++ 文件,使用 RVCT 对其进行编译,然后尝试在智能手机上运行该函数。发出的程序集不能由 ms 汇编程序进行汇编(不仅它们不兼容,而且 ms 汇编程序拒绝使用 RVCT 编译器生成的一些指令;在我的例子中是 ASR 操作码)然后我尝试将 ELF 对象转换为 coff 格式,但我找不到任何相关信息。有一个用于 ce 的 gcc 端口,该工具集中的 objcopy 应该能够完成任务。但是,我无法让它工作。我尝试了不同的开关,但我不知道我到底需要为输入和输出格式指定什么作为 bfdname。所以,我也无法让它工作。使用 fromelf 转储并使用生成的 bin 文件似乎有点矫枉过正,所以我决定问问你们是否有什么我应该尝试做的,或者也许有人已经完成了类似的任务并且可以帮助我。基本上,我想做的就是用 RVCT 编译器编译我的代码,看看有什么性能差异。我的代码对任何 C 运行时函数都具有零依赖性。
谢谢!
最佳答案
只是更新...我编译了支持 arm-pe 和 arm-elf 的 gnu binutils。将 arm-elf 转换为 arm-coff:objcopy.exe -I elf32-littlearm -O pe-arm-wince-little test.o test.obj
现在 test.obj 包含相同的函数:int add(int, int);问题是 MS 编译器拒绝了 test.obj 文件:test.obj : fatal error LNK1136: invalid or corrupt file
我还尝试了另一种方法。我将 test.o 转换为 symbolsrec 格式(我不知道这种格式,但这是唯一有效的格式),然后我将生成的文件转换为 arm-pe。在这种情况下,ms 编译器链接到生成的 test.obj,但生成的机器代码无效。我还使用 gcc-ce 编译了 test.cpp 并尝试链接到他生成的 .obj 文件,在这种情况下一切正常。这是 VS 调试器中显示的汇编代码:
int X2 = add(X, Y);
00012068 ldr r1, Y, #0x28
0001206C ldr r0, X, #0x2C
00012070 bl 00011000
如果我能够链接到转换后的 obj 文件,它看起来像这样:
int X2 = add(X, Y);
00011068 ldr r1, Y, #0x28
0001106C ldr r0, X, #0x2C
00011070 bl |WinMain + 0xfffff000 ( 10000h )|
在最后一条指令中,它跳转到与我的 int add(int, int); 函数无关的某个随机位置。
关于c++ - 使用 RVCT 为 WinCE/Window Mobile 编译 AMR-nb 编解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/790650/
(changeTab) 对我不起作用。我想在 Angular 中切换到 Nebular Theme 中的特定选项卡时调用特定函数。 最佳答案 不容易提供帮助,因为您没有提供我们代码的任何示例。在这个阶
我正在使用 glmer.nb 研究负二项式模型lme4 内的函数R 包。实际模型本身有些复杂,但应该(至少我相信)在统计上是合理的。我现在的问题是因为模型难以收敛并返回此警告: In checkCon
我通过绘制相应的学习曲线,比较了 NLTK 和 Scikit 中朴素贝叶斯的两种实现的性能(伯努利版本,类先验并不重要,因为我为每个类使用完全相同数量的训练示例)对于我的三类问题。 X 轴是训练数据集
ArrayList> diskpart; List getPartition(Integer n){ List aktpart = new ArrayList<> ();
我有一串带有 As 和 B 的字符,我需要对其进行分析以查找语言 A^nB^n。我可以使用下面的代码在大多数情况下工作,但是当有一个字母不是“A”或“B”时,它仍然可能返回 true,例如:AABAC
我正在建模一个介导的零膨胀负二项式 (ZINB) 模型。我正在遵循 O'Rourke & Vazquez (2019) 的步骤 --> https://www.sciencedirect.com/sc
我正在尝试实现这样的高斯 NB 训练。然而,如果 X 的维度不相等(即 X 内的所有列表需要具有相同的长度),则 gnb.fit() 会引发异常。如果我的训练样本是不同长度的向量,调用 fit() 的
我编写了一个算法来从 AMR 文件中提取每一帧。我认为文件的前 6 个字节是文件头,后面的信息是音频帧。每个音频帧由帧头和音频数据组成。帧头以字节为单位告知帧的大小(使用 CMR 模式表 - http
我必须在网页上打印一些 SQL 的 select 请求答案。 因为结果太大,所以我需要每 500 个打印 500 个。 像 phpmyadmin 一样,我该如何说(使用 SQL 请求)来获取每 500
使用带默认选项的 NB 转换(“文章”)我没有得到带页码的页脚?我对 LaTex 一无所知,但简单看一下 tpl 文件似乎表明我应该得到页脚(也许有页码?)“书”选项提供了很好的页脚,但由于其他原因不
我正在试验 nb-stepper 组件,并想在我的 Angular 组件中设置 selectedIndex。刷新我的事件后在 [(selectedIndex)] 上指定双向绑定(bind)时,nb-s
我正在尝试使用 sqrt 链接拟合 Negbin 模型。不幸的是,我似乎必须指定起始值。有人熟悉在运行 glm.nb 时设置起始值吗?命令(包 MASS)? 当我不使用起始值时,我收到一条错误消息:
如何在 NetBeans 平台应用程序的用户目录中创建新文件? 我用了: System.getProperty("netbeans.user", "user.home") + "/myfile");
星云 checkbox.component.ts不开火 (change)值改变时的事件。 checkbox.component.ts应该有更改事件 {{t}} 最佳答案 星云 nb-radio
我有一个程序可以打开项目文件夹中的 .txt 文件并读取其中的行。我知道文件读取有效,所以它不是 I/O 问题(或 Swing ,因为我也在使用它),但是当我设置 nim (我的变量)= anArra
我想开始使用 iReport(netbeans 版本)并替换旧的经典 iReport 3.0.x。看起来经典的 iReport 不会再得到改进,并且在某个时候会被放弃。 问题是我需要从另一个java应
为了重构我的代码,我编写了如下的 google SignOut 函数 function googleSignOut() { if (typeof module_google_login ==
这是我的 js 正则表达式测试。 'AAa\nbBB'.match(/AA[.\n]+BB/);//failed match 我认为[.\n]+可以匹配任何字符。我错了吗? 最佳答案 该点与 char
我正在使用 angular5,在执行 npm start 或 serve 时出现“No mixin named nb-install”错误 Module build failed: undefined
我只是想知道如何在 C 中编写一定数量的空白字符。例如,如果我想在文件描述符中写入 size 空白字符,我会这样写: int fd = open(filename, O_RDWR|O_CREA
我是一名优秀的程序员,十分优秀!