相关疑难解决方法(0)

如何从GetLastError()返回的错误代码中获取错误消息?

在Windows API调用之后,如何以文本形式获取最后一条错误消息?

GetLastError() 返回一个整数值,而不是文本消息.

c c++ winapi

118
推荐指数
8
解决办法
12万
查看次数

LocalAlloc Vs GlobalAlloc Vs malloc Vs new

我已经在各种链接上搜索过这个,但仍然存在疑问.

我不明白LocalAllocvs GlobalAllocvs mallocvs new内存分配的区别.

我已经浏览了MSDN的这个链接:

比较内存分配方法

请解释以下声明:

的malloc函数有被运行时依赖的缺点.在新的运营商有被依赖编译器和语言相关的缺点

c++ winapi heap-memory

27
推荐指数
2
解决办法
1万
查看次数

malloc和HeapAlloc之间是否存在根本区别(除了可移植性)?

我有代码,由于各种原因,我正在尝试从C运行时移植到使用Windows Heap API的代码.我遇到了一个问题:如果我重定向malloc/ calloc/ realloc/ free调用HeapAlloc/ HeapReAlloc/ HeapFree(使用GetProcessHeap的手柄),内存似乎是正确分配(无不良指针返回,没有抛出异常),但我的图书馆porting因某种原因说"未能分配内存".

我已尝试使用Microsoft CRT(使用下面的Heap API)和另一个公司的运行时库(使用下面的Global Memory API); 两者的malloc适用于库,但由于某些原因,直接使用Heap API不起作用.

我已经检查过分配不是太大(> = 0x7FFF8字节),而它们不是.

我能想到的唯一问题是内存对齐; 那是这样吗?或者除此之外,Heap API和我不知道的CRT内存API有根本区别吗?

如果是这样,它是什么?如果没有,那么为什么静态 Microsoft CRT(包含在Visual Studio中)在调用之前malloc/ calloc之前需要一些额外的步骤HeapAlloc?我怀疑存在差异,但我想不出它可能是什么.

谢谢!

heap malloc winapi msvcrt heapalloc

7
推荐指数
1
解决办法
2728
查看次数

标签 统计

winapi ×3

c++ ×2

c ×1

heap ×1

heap-memory ×1

heapalloc ×1

malloc ×1

msvcrt ×1