15/08/26 20:16:21.46 N7Jdy9nG.net
>>743
> GCHandle 構造体
> [SecurityPermission(SecurityAction.Demand, UnmanagedCode=true)]
> URLリンク(msdn.microsoft.com)(v=vs.110).aspx
なるほど、C#でもdllと接続するとUnmanagedCodeを意識しないと駄目なんだな。
> タイミングがわからないおかげで使用中のハンドルが開放される可能性への対策も必要になるし
GC.Collectで起動は出来るみたいだぞ。
GC.SuppressFinalizeというやばそうなものもあるが、GCを止めることは出来ないね。
上記GCHandle例のようにブロックスコープで囲える範囲なら、GC.KeepAliveの方が軽そうだ。
> URLリンク(msdn.microsoft.com)(v=vs.110).aspx
システムリソースと言っても所詮はメモリだし、
x64みたいにアドレス空間が広ければ、OSが動的確保すれば収まる話ではある。
だからいずれは気にしなくてよくなると思うよ。
(ただそのときでもDisposeしたほうがいいのは事実だが)