
IntPtr handle=IntPtr.Zero; Marshal.FreeCoTaskMem(handle); Marshal.FreeHGlobal(handle); CloseHandle(handle); 以上两个方法有什么不同吗? 还有就是如何知道有没有产生内存泄漏?
var hWnd = GetConsoleWindow(); Marshal.FreeCoTaskMem(hWnd); /** * 还有点疑惑,上面的代码关闭控制台程序和直接点窗体的x, * 或是调用 "Environment.Exit(0);" 的区别是…… */ 1 lxilu 2020-11-21 14:58:06 +08:00 Marshal.FreeXXX 只应搭配 Marshal.AllocXXX CloseHandle 是前于 GC 手动关控柄,不是必要的 不要对控制台做奇怪的事情啦 |