12
#define JNI_DECLARE( classname, methodname ) \
     classname  ## methodname( JNI* env ) 

#define JAVA_CLASS Java_com_example
void JNI_DECLARE( JAVA_CLASS, open ) {}

これは次のように展開されます。

void JAVA_CLASS_open( JNI* env ) {}

入手方法:

void Java_com_example_open( JNI* env ) {}

?

4

1 に答える 1

14
#define JNI_DECLARE_INNER( classname, methodname ) \
     classname  ## _ ## methodname( JNI* env )
#define JNI_DECLARE( classname, methodname ) \
     JNI_DECLARE_INNER(classname, methodname)

詳細はこちら: C プリプロセッサ、マクロの結果を文字列化する

于 2011-08-12T19:33:46.193 に答える