如何从Java调用C#函数

如何从Java调用C#函数,第1张

如何从Java调用C#函数

首先让我们创建一个如下的C#文件

using System;public class Test{  public Test(){}  public String ping(){    return "C# is here.";  }}

然后使用以下命令进行编译:

csc.exe /target:module Test.cs

您可以

csc.exe
在.NET framework的安装路径中找到。之后,创建java文件:

public class Test{  public native String ping();  public static void main(String[] args){    System.load("/path/to/dll");    System.out.println("Java is running.");    Test t = new Test();    System.out.println("Trying to catch C# " + r.ping());  }}

javac Test.java
这会产生一个
Test.class

javah -jni Test
这将生成一个
Test.h
文件,该文件将包含在C ++代码中。

之后,我们需要创建我们的C ++文件:

#include "stdafx.h"#include "JAVA/Test.h"#include "MCPP/Test.h"#pragma once#using <mscorlib.dll>#using "Test.netmodule"JNIEXPORT jstring JNICALL Java_Test_ping(JNIEnv *env, jobject obj){  Test^ t = gcnew Test();  String^ ping = t->ping();  char* str = static_cast<char*>((System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(ping)).ToPointer());  char cap[128];  strcpy_s(cap, str);  return env->NewStringUTF(cap);}

最后:

c:>java Test

我希望这可以帮助你。在Java中使用函数C#的基本示例。

资料来源:https :
//www.quora.com/How-common-is-the-problem-of-calling-C-methods-from-Java-Do-
many-developers-come-across-such-necessity



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5498617.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存