我在自签名 Java 小程序上使用 System.load(),旧版本的 dll 加载正常,但我的新版本(即使 dll 构建良好)不加载,不抛出任何异常,只是停止代码在它的轨道上。
关于可能导致这种情况的任何想法?
这是部署 jar 文件的 html:
<embed id = "IB"
type = "application/x-java-applet"
width = "{$width}"
height = "{$height}"
code = "{$code}"
archive = "{$archive}"
username = "{$username}"
password = "{$password}"
account = "{$customer_ref}"
debug = "{$debug}"
baseweburl = "{$baseweburl}"
webserviceurl = "{$webserviceurl}"
/>
我添加用于创建 Dll 文件的 C++:
标头(javah 创建)
/*
* Class: i_jni_B
* Method: DeviceOnline
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL Java_i_jni_B_DeviceOnline
(JNIEnv *, jobject);
cp文件
JNIEXPORT jboolean JNICALL Java_i_jni_B_DeviceOnline
(JNIEnv *env, jobject)
{
try
{
CDevice* clsDevice = new CDevice();
clsDevice->Initialize();
clsDevice->Release();
return true;
}
catch (System::Exception^ ex)
{
return false;
}
}