在Windows中,如何将GlobalAlloc替换为new?您好,我有这段代码(来自这里:"ReadingfromaMailslot")使用GlobalAlloc分配内存。DWORDcbRead=0;LPTSTRlpszBuffer=(LPTSTR)::GlobalAlloc(GPTR,cbMessage);//cbMessageisfromacalltoGetMailslotInfoif(NULL==lpszBuffer)returnFALSE;lpszBuffer[0]='\0';BOOLfResult=::ReadFile(hSlot,lpszBuffer,cbMessage,
由于GlobalAlloc在32位模型中已成为局部的,因此不能使用它以便在Win32应用程序之间共享分配的内存。什么函数正在替换GlobalAlloc并使用相同的简单性?(就像检索内存块的处理程序,稍后由使用它的应用程序将其转换为指针。) 最佳答案 在Win32中进程之间共享内存的方式是使用内存映射文件。从CreateFileMapping和MapViewOfFile开始。 关于windows-什么功能取代了Win32中的GlobalAlloc?,我们在StackOverflow上找到一
我已经在各种链接上搜索过这个,但仍然存在疑问。我不明白LocalAllocvsGlobalAllocvsmallocvsnew内存分配的区别。我已经浏览了MSDN的这个链接:ComparingMemoryAllocationMethods请解释以下语句:Themallocfunctionhasthedisadvantageofbeingrun-timedependent.Thenewoperatorhasthedisadvantageofbeingcompilerdependentandlanguagedependent 最佳答案
我已经在各种链接上搜索过这个,但仍然存在疑问。我不明白LocalAllocvsGlobalAllocvsmallocvsnew内存分配的区别。我已经浏览了MSDN的这个链接:ComparingMemoryAllocationMethods请解释以下语句:Themallocfunctionhasthedisadvantageofbeingrun-timedependent.Thenewoperatorhasthedisadvantageofbeingcompilerdependentandlanguagedependent 最佳答案