gpt4 book ai didi

c# - 从非托管 C 库访问 C# 方法是否安全?

转载 作者:行者123 更新时间:2023-11-30 03:48:56 25 4
gpt4 key购买 nike

<分区>

我现在正在从 C 访问 C# 的方法。下面是一些 C# 代码片段。

IntPtr pFunc = Marshal.GetFunctionPointerForDelegate (
new DelegateForMyMethodInCsharp (
MyMethodInCsharp
)
);

setFuncPtr(pFunc);

setFuncPtr() 是 C 库的函数,用于设置 C# 方法的指针。在这段代码之后,我可以随时调用 C 库中的 C# 方法而不会出现任何问题,但我不确定这是否可以。

在 C# 中对存储在堆中的变量使用指针时,由于 GC,必须使用关键字 'fixed'。因为内存的堆栈部分包含方法,所以我写上面这样的代码是有意义的。但因为我还没有看到有人这样写,所以我希望听到你的意见。

这是一个非常简单的问题,但对我来说却是一个非常重要的问题。我不想编写不安全的代码。

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