超级问题。java是否可以调用windows的com组件或api,以及C++是否可以调用java的class文件以及ejb组件 1、标准的java(sun)是不能调com,原来的VJ++可以但这样在标准的java环境下有可能是不能运行的。2、可以通过java调用dll的方式来使用api。3、好象没发现c++调用java的。4、至于源码...... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 (1)用JNI(Java本地方法接口)调用.dll(2)用CORBA作桥如果要开发Windows程序,就不要用Java了,Java+COM,C++&EJB感觉有点...... 访问http://www.javayou.com里面有篇文章完整的介绍如何在C/C++中调用JAVA的类. to liusoft(凤梨罐头) 我用http://www.javayou.com里的那篇文章试了一下,编译它的java程序例子,成功,但是在VC6中初始化jvm时出现如下错误:(错误是出现在 res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);这条语句中,why?我可是path设置了,但是这那里用的是jdk1.2,我用的是jbuilder9中的jdk1.4,是这个问题吗?)Linking...a.obj : error LNK2001: unresolved external symbol __imp__JNI_CreateJavaVM@12Debug/cjava.exe : fatal error LNK1120: 1 unresolved externalsError executing link.exe.cjava.exe - 2 error(s), 0 warning(s)源代码如下#include <jni.h> int main() { int res; JavaVM *jvm; JNIEnv *env; JavaVMInitArgs vm_args; JavaVMOption options[3]; vm_args.version=JNI_VERSION_1_4; options[0].optionString = "-Djava.compiler=NONE"; options[1].optionString = "-Djava.class.path=."; options[2].optionString = "-verbose:jni"; //ÓÃÓÚ¸ú×ÙÔËÐÐʱµÄÐÅÏ¢ vm_args.version = JNI_VERSION_1_4; vm_args.nOptions = 3; vm_args.options = options; vm_args.ignoreUnrecognized = JNI_TRUE; res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args); if (res < 0) { fprintf(stderr, "Can't create Java VM\n"); exit(1); } (*jvm)->DestroyJavaVM(jvm); fprintf(stdout, "Java VM destory.\n");} 忘了说一句,options[2].optionString = "-verbose:jni"; //ÓÃÓÚ¸ú×ÙÔËÐÐʱµÄÐÅÏ¢这条语句不知什么原因成了乱码,正确的如下options[2].optionString = "-verbose:jni"; 有没有把jdk/lib目录加入到VC的Library Path环境设置中啊? 建议你先把我文章中的例子调通了再来修改这些参数看看,文章写了有一段时间了,一直没有再去继续研究JNI的东西,所以现在也说不上来什么问题。 看看王森的<<Java深度历险>>,有介绍.还有<<Java native interface>> <<Java深度历险>>有电子版吗??? 请注意!!!!vm_args.version = 0x00010001;在我文章中用红色字体突出的部分!!! java中的一点问题的想法, javaDB求解! 求助JBOSS4.2.3下JMS简单例子问题。 参与传递与This,super用法的提问 关于Java导入包的问题 一个简单的JAVA算法问题 请问如何生成1-100之间不重复的随机数20个?急急急!在线等待,持续加分中..... vj++用起来怎么样??? 还是JDialog的问题 一个多线程、支持断点续传的java源码 文件写入读出的问题 请大家帮帮忙 请问关于string类的问题,郁闷啊
(2)用CORBA作桥如果要开发Windows程序,就不要用Java了,Java+COM,C++&EJB
感觉有点......
我用http://www.javayou.com里的那篇文章试了一下,编译它的java程序例子,成功,但是在VC6中初始化jvm时出现如下错误:(错误是出现在 res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);这条语句中,why?我可是path设置了,但是这那里用的是jdk1.2,我用的是jbuilder9中的jdk1.4,是这个问题吗?)
Linking...
a.obj : error LNK2001: unresolved external symbol __imp__JNI_CreateJavaVM@12
Debug/cjava.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.cjava.exe - 2 error(s), 0 warning(s)源代码如下
#include <jni.h> int main() { int res; JavaVM *jvm; JNIEnv *env; JavaVMInitArgs vm_args; JavaVMOption options[3]; vm_args.version=JNI_VERSION_1_4;
options[0].optionString = "-Djava.compiler=NONE"; options[1].optionString = "-Djava.class.path=."; options[2].optionString = "-verbose:jni"; //ÓÃÓÚ¸ú×ÙÔËÐÐʱµÄÐÅÏ¢
vm_args.version = JNI_VERSION_1_4; vm_args.nOptions = 3; vm_args.options = options; vm_args.ignoreUnrecognized = JNI_TRUE; res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args); if (res < 0) { fprintf(stderr, "Can't create Java VM\n"); exit(1); } (*jvm)->DestroyJavaVM(jvm); fprintf(stdout, "Java VM destory.\n");}
options[2].optionString = "-verbose:jni"; //ÓÃÓÚ¸ú×ÙÔËÐÐʱµÄÐÅÏ¢
这条语句不知什么原因成了乱码,正确的如下options[2].optionString = "-verbose:jni";