我用 JNI Java 接口函数编译 DLL。在头文件中我有:
#include <jni.h>
/* Header for class net_sf_junace_UnACE */
#ifndef _Included_net_sf_junace_UnACE
#define _Included_net_sf_junace_UnACE
#ifdef __cplusplus
extern "C" {
#endif
JNIEXPORT void JNICALL Java_net_sf_junace_UnACE_nativeACEList
(JNIEnv *, jobject, jobject, jstring, jobject);
#ifdef __cplusplus
}
#endif
#endif
MS Visual C++ 修饰名称为:_Java_net_sf_junace_UnACE_nativeACEList@20
GCC:Java_net_sf_junace_UnACE_nativeACEList@20
JNI 需要前导下划线。如何强制 GCC 生成它?-fleading-underscore 没有帮助,为什么?