|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。
Windows使用程序十分丰厚,而偶然我们的EclipseRCP程序所必要的一些功效已有一些现有的Windows当地使用程序的完成,我们但愿可以在我们的RCP程序中重用这些功效。一种最复杂的重用办法就是间接在我们RCP窗口中嵌进当地使用程序窗口。要使得一个Windows当地使用程序可以在我们的RCP程序中运转,我们可使用Windows供应的reparent机制。使用这类机制完成窗口嵌进的次要历程是:起首要在我们的程序中启动要嵌进的Windows程序,然后我们想法猎取程序启动后的主窗口句柄,再将我们RCP程序的窗口设置成Windows程序主窗口的父窗口。
因为我们必要启动Windows当地程序而且猎取它的主窗口句柄,这些只能利用Windows当地挪用来完成,以是我们先用Windows当地挪用完成响应的功效,然后我们再用JNI举行挪用。
JNI简介
JNI的全称是JavaNativeInterface,JNI尺度是Java平台的一部分,它用来将Java代码和其他言语写的代码举行交互。上面复杂先容一下利用JNI的步骤:
编写带有native声明的java办法
这里以HelloWorld为例:
清单1.HelloWorldJava代码
public class HelloWorld {
static {
System.loadLibrary(“helloworld”)}
}
public native void print()}
public static void main(String[] args) {
HelloWorld hello = new HelloWorld()}
hello.print()}
}
}
编译Java代码和天生c/c++头文件:
先编译这个java类:javacHelloWorld.java,然后再天生扩大名为.h的头文件,java供应了命令javah来天生头文件:javah–jniHelloWorld,上面的清单显现了天生的头文件的内容:
清单2.HelloWorldC++头文件
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>}
/* Header for class HelloWorld */
#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloWorld
* Method: print
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloWorld_print (JNIEnv *, jobject)}
#ifdef __cplusplus
}
#endif
#endif
<p>
用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢? |
|