查看: 76|回复: 0

请教一下.net NativeAot写NativeLibrary时字符串封装传送时 ...

[复制链接]

3

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-4-8 09:01:36 | 显示全部楼层 |阅读模式
在NativeLibrary中
[UnmanagedCallersOnly(EntryPoint = "Hello")]
public static IntPtr Hello()
{
        string ret = "some string";
        IntPtr retPointer = Marshal.StringToHGlobalUni(ret);
        return retPointer;
}
在调用方
[DllImport("xxxx.dll", CharSet = CharSet.Unicode)]
public static extern string Hello();
查了Marshal.StringToHGlobalUni说需要调用方进行手动Free, 那么DllImport用string来接收, 是否.net本身的封装传送机制会进行自动释放?

请教一下.net NativeAot 写NativeLibrary时字符串封装传送时, 这样写会内存泄漏吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表