OpenMP 在NDK中使用
16lz
2021-01-24
最近在用NDK R9编译so,打开-fopenmp
LOCAL_CFLAGS += -pie -fPIE -shared -fopenmp
LOCAL_LDFLAGS += -pie -fPIE -shared -fopenmp
后运行core dump
openmp 在android上crash的解决方案
http://www.cnblogs.com/octave/p/5942907.html
这是个GOMP已知的问题,参见 bug42616, bug52738。如果在非主线程上使用openmp指令或者函数,会crash。这是因为在android上gomp_thread(libgomp/libgomp.h文件中)函数对于用户创建的线程返回NULL
解决方法: 将#pragma omp parallel for 运行在主线程
其他解决方式未试
在mk中去掉 $(LOCAL_PATH)/collage_polygon.cpp
$(LOCAL_PATH), 编译出来so 速度有很大提升,不知道是否是ndk隐藏bug
更多相关文章
- C语言函数的递归(上)
- [置顶] Android(安卓)经典面试题整理(一)(附答案)
- android fragment 切换时隐藏软键盘
- android驱动学习1-驱动开发流程(Android.mk)
- Android(安卓)Audio AudioSystem::getOutputSamplingRate
- android 动态注册 广播
- 13-6-3 android 自定义tabhost在底部与框架函数的讲解2
- android 多线程实现方式、并发与同步学习总结
- Android(安卓)Handler深度解析源码(一)