hello there, i'm trying to generate the header file for a java class using: $ gcjh --version gcjh (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1)... $ gcjh -jni -classpath . -o OC_IC.h OC$IC but i get an (almost) empty file (OC_IC.h.1). using javah (JDK5), with the following command, i get what i expect (OC_IC.h.2): $ /opt/jdk1.5.0_08/bin/javah -jni -classpath . -o OC_IC.h OC$IC the class (OC.java) was compiled with ecj: $ ecj -version Eclipse Java Compiler v_585_R31x, 3.1.2 release... $ ecj -source 1.4 -target 1.4 -cp . OC.java nothing in GCC Bugzilla indicates a known problem for this case. can somebody with a GCC/GCJ built from the current CVS HEAD confirm if the behaviour has changed. TIA + cheers; rsn
/* DO NOT EDIT THIS FILE - it is machine generated */ #ifndef __OC__ #define __OC__ #include <jni.h> #ifdef __cplusplus extern "C" { #endif #ifdef __cplusplus } #endif #endif /* __OC__ */
/* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header for class OC */ #ifndef _Included_OC #define _Included_OC #ifdef __cplusplus extern "C" { #endif #ifdef __cplusplus } #endif #endif /* Header for class OC_IC */ #ifndef _Included_OC_IC #define _Included_OC_IC #ifdef __cplusplus extern "C" { #endif /* * Class: OC_IC * Method: natInit * Signature: ()V */ JNIEXPORT void JNICALL Java_OC_IC_natInit (JNIEnv *, jobject); #ifdef __cplusplus } #endif #endif
public class OC { transient IC _ic; OC() { super(); _ic = new IC(); } private static final class IC { int np; IC() { super(); natInit(); } native void natInit(); } }
Attachment:
pgp5wzklqmvFl.pgp
Description: PGP signature