Tag: jni

从C#调用任何Java方法

有没有办法使用JNI和C#代码创建一个调用任何给定Java方法的程序? 假设我有一个包含类层次结构的jar,我负责加载JVM和这些类,我可以编写一个C#程序,它可以动态接收java方法签名+参数值并调用java代码吗? 请尽量限制您对免费技术的回答(首选JNI解决方案)。

从C#调用我自己的Java代码

拥有自己的Java代码我正在使用C#调用一些非托管代码来调用(通过JNI)java代码。 我正在使用JNI,因为我需要确保: Java代码在真实JVM上运行而不是在某些.NET VM上运行的能力 能够连接到VM进行调试(IKVM不支持) 我需要免费解决方案 目前的免费解决方案不适用(例如IKVM) 无论如何,我的问题是如何以最佳方式管理在这些层之间传递的字符串而不会泄漏。 我做的事情如下: [DllImport(@”MyDll.dll”)] public extern static void receive_message(string receDest, StringBuilder response); 这意味着我正在为托管代码中的响应分配内存。 我想避免这种情况,因为我事先并不知道响应长度。 如何编写一个适当的JNI方法,为托管代码分配正确的缓冲区而不会泄漏。 JNI代码应该是线程安全的。 有什么建议? 谢谢, 家伙