「vcjava混合」c c++ 混编
本篇文章给大家谈谈vcjava混合,以及c c++ 混编对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
关于JAVA和VC
1.楼主,你所指的word是微软office的那个吗?
把主要功能嵌入到word中,这个“主要功能”如何理解?界面工具栏的东西?还是窗口拖动的功能什么的?
首先说office界面上的东西不兼容Java,只能用VC特定的控件实现。如果非要用Java实现也可以,用JNI,这个就比较麻烦了,是用C++写的底层,然后Java在上面调用,其中变量的二进制值是不一样的(Java用的整形是jint型,和C++里的不一样)。无论两者用哪种方法实现,一般不会有兼容性问题。
2.只要控制得当,一般不会出现兼容性问题。除非使用了Hook(杀毒软件检测到用了Hook,默认是会把程序拦截掉的)。当然,一定是底层用C++,上层用Java。
一台电脑同时安装了vc和java
1、安装VC和java不会有干扰,windows系统在运行里面输入cmd打开的是dos界面,这只是个dos界面,
环境变量设置好了以后,你输入java编译文件就是java,你输入python就可以做python的程序
2、你想做什么都不会有干扰。
Java和C++合作开发
1、C语言作底层驱动,Java做应用软件。 2、不过一般一个人都只选一方面来做,毕竟人的精力有限而且现在都讲究团队合作,很少有一个人做一个项目的情况。 .
如何在C++中嵌入JAVA程序
C/C++代码如何嵌入JAVA
Java Native Inte***C++e(JNI)是Java语言的本地编程接口,是J2SDK的一部分。在java程序中,可以通过JNI实现一些用java语言不便实现的功能。通常有以下几种情况我们需要使用JNI来实现。
1.标准的java类库没有提供应用程序所需要的功能,通常这些功能是平台相关的
2. 希望使用一些已经有的类库或者应用程序,而并非用java语言编写的
3. 程序的某些部分对速度要求比较苛刻,选择用汇编或者c语言来实现并在java语言中调用
(1)编写HelloWorld程序,由于涉及到要编写c/c++代*因此会在开发中使用Microsoft VC++工具。编写java代*,在硬盘上建立一个hello目录作为的工作目录,首先需要编写自己的java代*,在java代*中会声明native方法,代*非常简单。如下所示
displayHelloWorld()方法的声明,有一个关键字native,表明这个方法使用java以外的语言实现。方法不包括实现,因为要用c/c++语言实现它。注意System.loadLibrary("hello")这句代*,在静态初始化块中定义的,系统用来装载hello共享库,这就是在后面生成的hello.dll(如果在其的*作系统可能是的形式,比如hello.so)
(2)编译java代*
javac HelloWorld.java生成HelloWorld.class文件
(3)创建.h文件
这一步中要使用javah命令生成.h文件,这个文件要在后面的c/c++代*中用到,运行
javah HelloWorld。这样可以看到在相同目录下生成了一个HelloWorld.h文件,文件内容如下
(4) 编写本地实现代*
在这部分要用C/C++语言实现java中定义的方法,在VC++中新建一个Project,然后创建一个HelloWorldImp.cpp文件,内容如下
这里include了 jni.h和刚才得到的HelloWorld.h文件。因此要在VC++里面设置好,jni.h在JAVA_HOME/include里面。编译通过后再生成hello.dll文件。
(5)运行java程序
把上面生成的hello.dll文件复制到工作目录,这时候目录中包括HelloWorld.java,HelloWorld.class和hello.dll文件。运行java HelloWorld命令,则可在控制台看到Hello world|的输出了。
Linux下测试jni
1、在测试用户下建立src、lib目录
2、进入src目录编写HelloWorld.java
3、然后javac HelloWorld.java
4、使用 javah 工具生成 HelloWorld.h 文件
javah HelloWorld
5、编写HelloWorld.c
#include ;
#include "HelloWorld.h"
#include ;
JNIEXPORT void JNICALL
Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)
{ printf("Hello world!/n");
return;
}
6、编译c的动态库
gcc -shared -o $HOME/lib/libhello.so HelloWorld.c
注意$HOME/lib目录要加入到环境变量LD_LIBRARY_PATH中去
7、java HelloWorld运行程序
关于vcjava混合和c c++ 混编的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。