从c等语言调用java的,要看你调用什么了,比如如果是java swing程序,可以用exe4j把它生成exe文件,用c去调用exe。如果是webservice,可以用soaptoolkit,是一个c++的库,可以访问WebService的,用的是soap。
public interface MyCDll extends Library {MyCDll INSTANCE = (MyCDll)Native.loadLibrary("MyCDll", MyCDll.class)
public static class CFile extends Structure {
public ByteByReference _ptr = new ByteByReference()
public int _cnt
public ByteByReference _base = new ByteByReference()
public int _flag
public int _file
public int _charbuf
public int _bufsiz
public ByteByReference _tmpfname = new ByteByReference()
public static class ByReference extends CFile
implements Structure.ByReference{}
public static class ByValue extends CFile
implements Structure.ByValue{}
}
public CFile.ByReference fopen(byte[] filename,int len1, byte[] model,int len2)
public int fread(byte[] br, int size, int count, CFile f)
public int fclose(CFile br)
}
这是用java模拟的C的File类。java调用需要的写好的dll或so的动态库。动态库中的所有方法都可以用JNA来描述