OpenMP 在NDK中使用

最近在用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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章