首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android转换/编译C++为霓虹灯

Android转换/编译C++为霓虹灯
EN

Stack Overflow用户
提问于 2014-04-23 14:51:59
回答 1查看 665关注 0票数 1

我目前正在写一个简单的安卓程序使用C++在JNI和OpenCV的帮助下。输入是存储为Mat的图像。我不想使用OpenCV的normalize函数,而是希望用C++编写自己的normalize函数。据我所知,有霓虹灯的支持。然而,看着NDK文件夹中的HelloNeon示例,我意识到代码是用霓虹灯instrinsics编写的。

问:有没有办法直接把我的C++代码编译成霓虹灯代码?也就是说,我希望避免用霓虹灯内部函数编写函数。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-04-23 16:00:14

这在很大程度上取决于编译器。在最近的版本中,gcc和clang都支持“自动向量化”,但是生成代码的质量是非常不稳定的--主要取决于实际的源代码。一如既往,编译器首先要负责生成正确的代码,其次要生成快速高效的代码。如果有疑问,请选择“安全”选项。

但是,它应该可以使用-mfpu=neon -ftree-vectorize

但是,我确实希望您需要“按摩”代码,使其很好地向量化--至少这是我在x86上的经验,在向量化时,编译器将尝试构建SSE指令。它在相当简单的情况下是成功的,但当代码更复杂时,它会退回到“常规代码”。一般来说,较新的编译器确实比较旧的版本工作得更好。

如果你真的需要得到良好的矢量化结果,你可能最终会需要使用霓虹灯内部。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23236919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档