是否可以将OpenMP库与Android NDK一起使用?

是否可以将OpenMP库与Android NDK一起使用?,android,android-ndk,openmp,Android,Android Ndk,Openmp,是否可以将OpenMP库与Android NDK一起使用 也许有人已经尝试将它们编译在一起,并可以提供一些提示 随着双核平板电脑/智能手机的出现,我认为在应用程序开发中使用OpenMP功能会非常好 提前感谢。如前所述,OpenMP尚不受支持 这方面的社区补丁是完全可能的,正如讨论中所提到的,它主要需要修改gcc/libgomp。对于现在遇到这个问题的人:从2013年10月起,OpenMP在NDK中受gcc支持(NDK版本9b)。见: 其中,他们解释添加: LOCAL_CFLAGS += -fop

是否可以将OpenMP库与Android NDK一起使用

也许有人已经尝试将它们编译在一起,并可以提供一些提示

随着双核平板电脑/智能手机的出现,我认为在应用程序开发中使用OpenMP功能会非常好

提前感谢。

如前所述,OpenMP尚不受支持


这方面的社区补丁是完全可能的,正如讨论中所提到的,它主要需要修改gcc/libgomp。

对于现在遇到这个问题的人:从2013年10月起,OpenMP在NDK中受gcc支持(NDK版本9b)。见:

其中,他们解释添加:

LOCAL_CFLAGS += -fopenmp
LOCAL_LDFLAGS += -fopenmp

要启用OpenMP支持,请访问您的Android.mk。

我对Android一无所知,但查看文档,NDK确实表示支持pthread库。由于OpenMP的gcc实现是基于pthreads的,因此只要所使用的编译器支持OpenMP,这似乎是可能的。现在NDK似乎不支持它,在它支持之前,最好还是使用pthreads。不过,我们可以在Java+JNI中做一些非常类似于OpenMP的事情,例如:。我还没有在Android上测试性能,但对于我的应用程序,OpenJDK+原生JNI函数的Java并发类实际上比GCC的OpenMP快!看看我的答案;随着OpenMP支持的增加,这不再准确。