我有几个关于以下问题的问题:
[DllImport("libmp3lame.dll", CharSet = CharSet.Ansi)]
static extern IntPtr get_lame_version();
public static string GetLameVersion()
{
IntPtr pVersion = get_lame_version();
string version = Marshal.PtrToStringAnsi(pVersion);
return version;
}
pVersion
分配的字符串指向的内存在哪里?pVersion
超出范围时是否会自动释放此内存?- 如果是,那是怎么发生的?
- 如果没有,我该如何释放内存?