次の点についていくつか質問があります。
[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
このメモリは、範囲外になると自動的に解放されますか?- はいの場合、それはどのように起こりますか?
- いいえの場合、メモリを解放するにはどうすればよいですか?