gpt4 book ai didi

c# - 类似于 c# 的 javah

转载 作者:行者123 更新时间:2023-11-30 05:07:20 25 4
gpt4 key购买 nike

我正在尝试用 C# 做一些事情并增加一些速度我希望一些方法在 C++ 中完成。我以前在 Java 中做过类似的事情,它真的很有趣而且有点简单。尝试在 c# 中执行此操作一直令人沮丧。 java 中最简单的部分现在是 c# 中最难的部分:找出在 native/extern 中使用的参数。对于诸如 int、double 和其他基本类型之类的东西,这很简单,但是对于结构和类等更复杂的东西,我该如何做到这一点呢?对于 java,jdk 中有一个名为 javah 的程序可以为您执行此操作,但经过 3 小时的谷歌搜索后,我发现没有用于 c#/c++ 桥的此类程序。我是忘记了还是没有这样的 c# 程序?

我知道 [DllImport] 我想知道如何将 public static extern void ExternFunction(MyCustomStruct m) 转换为 c++ 签名

最佳答案

您正在寻找 DllImport 属性:

class Example
{
// Use DllImport to import the Win32 MessageBox function.
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int MessageBox(IntPtr hWnd, String text, String caption, uint type);

static void Main()
{
// Call the MessageBox function using platform invoke.
MessageBox(new IntPtr(0), "Hello World!", "Hello Dialog", 0);
}
}

详细教程: https://learn.microsoft.com/en-us/dotnet/framework/interop/consuming-unmanaged-dll-functions

识别哪个DLL有什么功能: https://learn.microsoft.com/en-us/dotnet/framework/interop/identifying-functions-in-dlls

关于c# - 类似于 c# 的 javah,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47505281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com