能否在dll中先调用java的jvm.dll,然后再用里面的函数创建jvm
来源:互联网 发布:ipad网络被劫持怎么办 编辑:程序博客网 时间:2024/06/11 09:35
环境是 中文32位的xp,vs2010,java1.6.
我用vs2010编写了一个mfc扩展dll。然后dll里面做了以上操作
代码:
//查找JNI_CreateJavaVM过程。
JNICREATEPROC jvmCreateProc = (JNICREATEPROC)GetProcAddress(m_jvmDll, "JNI_CreateJavaVM");
if (jvmCreateProc == NULL)
{
FreeLibrary(m_jvmDll);
printf("查找JNI_CreateJavaVM过程错误。%l", ::GetLastError());
return false;
}
//创建JVM:
int res = (jvmCreateProc)(m_jvm, (void **)m_env, &vm_args);
一路都正常,但是到了int res = (jvmCreateProc)(m_jvm, (void **)m_env, &vm_args);
程序就卡住了,没有任何动静。也不往下走了。一直卡住。
m_jvm,m_env, vm_args三个参数都没有问题的
请问是什么问题。首先,我这种在dll里再调用java的dll,再创建jvm的方式,行不行的通?
我用vs2010编写了一个mfc扩展dll。然后dll里面做了以上操作
代码:
//查找JNI_CreateJavaVM过程。
JNICREATEPROC jvmCreateProc = (JNICREATEPROC)GetProcAddress(m_jvmDll, "JNI_CreateJavaVM");
if (jvmCreateProc == NULL)
{
FreeLibrary(m_jvmDll);
printf("查找JNI_CreateJavaVM过程错误。%l", ::GetLastError());
return false;
}
//创建JVM:
int res = (jvmCreateProc)(m_jvm, (void **)m_env, &vm_args);
一路都正常,但是到了int res = (jvmCreateProc)(m_jvm, (void **)m_env, &vm_args);
程序就卡住了,没有任何动静。也不往下走了。一直卡住。
m_jvm,m_env, vm_args三个参数都没有问题的
请问是什么问题。首先,我这种在dll里再调用java的dll,再创建jvm的方式,行不行的通?
- 能否在dll中先调用java的jvm.dll,然后再用里面的函数创建jvm
- 调用游戏dll里面的汇编函数
- 求解答: java调用dll,jvm崩溃。。。
- 引用自己创建的类库,然后调用dll
- c#调用matlab m文件生成的.dll时出现JVM(java虚拟内存)不足
- tomcat安装停止在jvm.dll的解决
- (转)tomcat安装停止在jvm.dll的解决
- 在C#中调用C++Dll函数的方法
- 在C#中动态调用native dll的导出函数
- 关于在主程序里面调用DLL时,找不到DLL里面的路径问题
- 在DLL 的DllMain函数中创建线程
- java调用dll.C++调用没有lib的dll中类中的函数.
- VC中DLL的创建及调用
- BCB中DLL的创建和调用
- 动态调用DLL里面的属性和函数
- 通过序号(索引)调用dll里面的函数
- DLL调用失败,如何发现和调用DLL里面的函数
- WinPcap中Pocket.dll里的PacketGetAdapterNames这个API在C#里面的调用
- eclipse常用
- hdu1128-Self Numbers
- matlab多列显示图例
- JSP从数据库读取图片显示在表单里出现错误
- Jquery 获取对象的几种方式
- 能否在dll中先调用java的jvm.dll,然后再用里面的函数创建jvm
- 垃圾数据
- 一步步构建大型网站架构
- Android上dip、dp、px、sp等单位说明
- 读者写者问题(一)
- linux gdb
- 用jna来调用大漠插件内的方法
- Android Binder通信机制
- thinkphp session 取不到验证码