如果我调用malloc而不是GetMem,为什么我的程序会停止崩溃?

时间:2009-11-10 15:34:51

标签: delphi memory-management delphi-2009 malloc

我从Delphi 2009应用程序调用C DLL,当GetMem或AllocMem分配的内存传递给DLL时,我一直收到错误。我可以避免这些错误的唯一方法是使用msvcrt.dll中的malloc。什么是malloc做的内置内存例程不是,我怎样才能让内置的内存工作?我真的不喜欢绕过内置的内存管理器。

2 个答案:

答案 0 :(得分:4)

如果DLL曾试图释放该内存或以其他方式操纵内存分配(例如扩展/收缩它),那就可以解释它。不建议混合使用内存分配系统。

答案 1 :(得分:0)

注意Calling Convention,stdcall或cdecl 。