java 导入默认包中_如何从默认包中导入一个类

我可以给你这个build议,就我的C和C ++编程经验而言,有一次,当我遇到同样的问题时,我通过改变“.C”文件中的dll写入结构来解决它,它实现了JNI本地function。 例如,如果您想将程序添加到“com.mypackage”包中,则将实现“.C”文件的function/方法的JNI原型更改为:

JNIEXPORT jint JNICALL Java_com_mypackage_Calculations_Calculate(JNIEnv *env, jobject obj, jint contextId) { //code goes here } JNIEXPORT jdouble JNICALL Java_com_mypackage_Calculations_GetProgress(JNIEnv *env, jobject obj, jint contextId) { //code goes here }

因为我是delphi的新手,所以我不能保证你,但最后会这样说,(我在Delphi和JNI上search了一些东西之后学到了一些东西):问那些提供Delphi实现的本地人(如果你不是那个人)代码来更改函数名称如下所示:

function Java_com_mypackage_Calculations_Calculate(PEnv: PJNIEnv; Obj: JObject; contextId: JInt):JInt; {$IFDEF WIN32} stdcall; {$ENDIF} {$IFDEF LINUX} cdecl; {$ENDIF} var //Any variables you might be interested in begin //Some code goes here end; function Java_com_mypackage_Calculations_GetProgress(PEnv: PJNIEnv; Obj: JObject; contextId: JInt):JDouble; {$IFDEF WIN32} stdcall; {$ENDIF} {$IFDEF LINUX} cdecl; {$ENDIF} var //Any variables you might be interested in begin //Some code goes here end;

但是,最后的build议:虽然你(如果你是delphi程序员)或者他们会改变这些函数的原型并重新编译dll文件,一旦dll文件被编译,你将无法更改你的软件包名称“Java”文件再次。 因为,这将再次要求你或他们改变delphifunction的原型与改变的前缀(例如JAVA_yourpackage_with_underscores_for_inner_packages_JavaFileName_MethodName)

我认为这解决了这个问题。 感谢和问候,哈萨尔·马尔谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值