如何装Java的类转化成Dll文件?请高手进来指教,菜鸟看看可以! 最简单的方法就是将你的JAVA程序移植到J#下另外.你可用JNI,用C调用JVM来执行你的CLASS,再将该C封装成DLL 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可不可以直接用JAVA生成DLL文件??我想做的是我生成的东西,不管是JAVA还是.net都可以使用的,这样就可以实现控件共享!如果不用C调用JVM,还有其它办法吗?请教楼上! 好像不可以SUN 的JAVA 和 M$的.NET本来就是一对冤家 大哥,你有JNI的电子书吗?可不可以传我一份!怎么就你一个人回答?哪我不是这100分就给你一个了? JNI在DLL中LoadLibrary("jvm.dll"); ms和java可以互相操作已确认 jni的资料:http://java.sun.com/docs/books/tutorial/native1.1/中文资料就少了(因为很少有人用)<<Think In Java>>的附A有部分介绍,你可参考一下<<Think In Java>>网上有很多,这里就可下:www.infoxa.com 楼上大哥: 我看了一下JNI,可是没有看到怎魔生成.Dll文件的??请问能不能细说一下! 1.建TestDLL.javapublic class TestDLL{ public static void testshow(String msg) { testshow0(msg); } private static native int testshow0(String msg); static { System.loadLibrary( "TestDLL" ); } public static void main( String[] args ) { testshow("Hello!"); }}2. 编译成类javac TestDLL.java3.生成.h文件javah -jni TestDLL4.建TestDLL.c#include <windows.h>#include "TestDLL.h"JNIEXPORT jint JNICALL Java_TestDLL_testshow0 (JNIEnv *env, jobject obj, jstring s){ const char* szStr = (*env)->GetStringUTFChars( env, s, 0 ); MessageBox(NULL,szStr,"TestDLL",MB_OK); (*env)->ReleaseStringUTFChars( env, s, szStr );}5.生成DLLcl -Id:\j2sdk1.4.2_09\include -Id:\j2sdk1.4.2_09\include\win32 -LD TestDLL.c user32.lib6.测试结果java TestDLL你将会看到java调用windwos DLL的MessageBox所产生的Hello对话框环境: JDK+VC 这种方式,用java完全没有体会到java的用处,而且这样由于涉及到jni的应用,因此,很难进行移植。哎。如果可以的话,你直接写dll好了。 楼上大哥,我想的也是直接生成Dll,你有什么好的办法吗? 1. 自己写代码转换工具, 将java代码转换层c#代码. 然后编译2. 如果允许, 在c#中使用Socket等方法和java程序进行通信, 用数据交互3. Webservice, 实现过程调用.要java和.net共享程序空间好像不太可能, 即使使用一些中间的技术转换也不一定稳定. java写xml到页面 hibernate级联删除 出错 jb里编译webservice到底什么顺序啊? 如何开发电子地图? 在线期待:Hibernate配置引起的java.lang.IllegalArgumentException String的equals方法问题,老是出错 招聘时候,人家问我你会j2ee吗? 那么学习什么才算是会j2ee呢?请求真正知道的高手指导! 求lomboz 十分简单的问题! 如何在jdom中使用xpath? 请各位前辈指明学习的方向 关于property文件读取的问题,高分求教!
我想做的是我生成的东西,不管是JAVA还是.net都可以使用的,这样就可以实现控件共享!如果不用C调用JVM,还有其它办法吗?请教楼上!
SUN 的JAVA 和 M$的.NET本来就是一对冤家
在DLL中LoadLibrary("jvm.dll");
已确认
http://java.sun.com/docs/books/tutorial/native1.1/
中文资料就少了(因为很少有人用)<<Think In Java>>的附A有部分介绍,你可参考一下
<<Think In Java>>网上有很多,这里就可下:
www.infoxa.com
我看了一下JNI,可是没有看到怎魔生成.Dll文件的??请问能不能细说一下!
public class TestDLL
{
public static void testshow(String msg)
{
testshow0(msg);
}
private static native int testshow0(String msg); static
{
System.loadLibrary( "TestDLL" );
}
public static void main( String[] args )
{
testshow("Hello!");
}
}
2. 编译成类
javac TestDLL.java
3.生成.h文件
javah -jni TestDLL
4.建TestDLL.c
#include <windows.h>
#include "TestDLL.h"
JNIEXPORT jint JNICALL Java_TestDLL_testshow0
(JNIEnv *env, jobject obj, jstring s)
{
const char* szStr = (*env)->GetStringUTFChars( env, s, 0 );
MessageBox(NULL,szStr,"TestDLL",MB_OK);
(*env)->ReleaseStringUTFChars( env, s, szStr );
}
5.生成DLL
cl -Id:\j2sdk1.4.2_09\include -Id:\j2sdk1.4.2_09\include\win32 -LD TestDLL.c user32.lib
6.测试结果
java TestDLL
你将会看到java调用windwos DLL的MessageBox所产生的Hello对话框
环境:
JDK+VC
2. 如果允许, 在c#中使用Socket等方法和java程序进行通信, 用数据交互
3. Webservice, 实现过程调用.要java和.net共享程序空间好像不太可能, 即使使用一些中间的技术转换也不一定稳定.