java调用c#写的Dll(高分在线等) 如题,c#中就一个returnStrXML()的无参函数,返回值是String类型请问如何调用,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以前我的老师曾经写过一个JAVA调用C#的WINDOWS开发的相关方法的例子。当时借助的是JNA。LZ的这个需求可能也得借助相关的第三方类库。 我写过调用C++ dll库的程序,C#的没有试过,因为C#是运行在framework之上的,而且也存在c#与java之间的类型转化,你可能需要自己写一个中间的C++的程序或者其他本地程序来连接两种语言。可能现在已经有现成的实现了。 如题,兄弟能否帮我写出一个呢,很简单的函数,无参,String 返回值 没有可能,死心吧,调用DLL是可能的,还有很多限制呢,C#的DLL,并不是真正意义的DLL,准确说,那个叫Assembly,MS没有提供访问它的Java接口。 哭了,c++的也行,看了用jni的也是很晕public class TestJNI { public native void greetings(); static { System.loadLibrary("greet"); } public static void main(String args[]) { new TestJNI().greetings(); }} 编译 Java 文件: jvc TestJNI.java 生成类文件上运行 JavaH: javah -jni TestJNI 编写 C/C++ 代码根据生成的头文件: #include "TestJNI.h"#include <stdio.h>JNIEXPORT void JNICALL Java_TestJNI_greetings(JNIEnv *env,jobject jobj) { printf("Hello from Visual C++!"); //每次都要用c++来重新实现一次dll里的函数么} 编译 C/C++ 代码: cl greet.cpp -Ic:\sdk-java.31\include -Fegreet.dll -MD -LD //编译出来的是个什么东西,是dll么,是的话为什么又写了一个dll? 测试应用程序: jview TestJNI //jview是什么命令?这是我网上找到的,有点晕,真指教 这个不是源码不源码的问题。因为C#跟JAVA的一些区别,包括类库上的,机制上的等……第三方类库主要是解决跨领域调用问题的(不知道这个描述准确不)。不是说你写个方法就能解决的。具体的还得去网上搜。 放弃吧http://javavsnet.javaeye.com/blog/228435 http://www.jcwcn.com/html/Java/10_43_37_489.htm 菜鸟求助 请问什么是source. 13题 100分! xp下面JDK的设置,在线等。。。。。 CMD SHELL管道命令问题 请问怎么才能创建一个XML文件并上传到FTP,最好中间不要有临时文件(本地),XML文件直接在FTP上出现 新手上路,请教如何获取文本框TextField的内容为int型 please give me a advice 关于数据库连接的问题(高分求救) java 安装文件 请问JNI中,c++函数的参数是一个结构体,java对应的传递类是否同步更新的问题 请大家出一份java试题, 谢谢
当时借助的是JNA。
LZ的这个需求可能也得借助相关的第三方类库。
可能现在已经有现成的实现了。
C#的DLL,并不是真正意义的DLL,准确说,那个叫Assembly,MS没有提供访问它的Java接口。
public class TestJNI {
public native void greetings(); static {
System.loadLibrary("greet");
} public static void main(String args[]) {
new TestJNI().greetings();
}
}
编译 Java 文件:
jvc TestJNI.java
生成类文件上运行 JavaH:
javah -jni TestJNI
编写 C/C++ 代码根据生成的头文件:
#include "TestJNI.h"
#include <stdio.h>JNIEXPORT void JNICALL Java_TestJNI_greetings(JNIEnv *env,jobject jobj) {
printf("Hello from Visual C++!"); //每次都要用c++来重新实现一次dll里的函数么
}
编译 C/C++ 代码:
cl greet.cpp -Ic:\sdk-java.31\include -Fegreet.dll -MD -LD //编译出来的是个什么东西,是dll么,是的话为什么又写了一个dll?
测试应用程序:
jview TestJNI //jview是什么命令?这是我网上找到的,有点晕,真指教
因为C#跟JAVA的一些区别,包括类库上的,机制上的等……
第三方类库主要是解决跨领域调用问题的(不知道这个描述准确不)。
不是说你写个方法就能解决的。
具体的还得去网上搜。
http://javavsnet.javaeye.com/blog/228435
http://www.jcwcn.com/html/Java/10_43_37_489.htm