【发布时间】:2010-09-07 06:01:47
【问题描述】:
我被要求在 C++ 中创建一个与 Delphi 兼容的 dll 来进行简单的 64 位内存管理。
背景是 Delphi 中的系统需要分配大量内存块,这些内存块可以很好地超出 32 位可寻址空间。 Delphi 开发人员向我解释说,他无法使用可用的 Delphi 命令分配内存。他说他可以持有一个64位的地址,所以他只想调用我提供的一个函数来分配内存并返回一个64位的指针给他。然后另一个函数稍后释放内存。
现在,我只有 VS 2008 可供我使用,所以首先我什至不确定我是否可以首先创建一个与 Delphi 兼容的 dll。
任何 Delphi 专家都愿意帮助我。也许有一种方法可以在不重新发明轮子的情况下实现他的要求。其他开发人员一定在 Delphi 中遇到过这种情况。
感谢所有 cmets。
【问题讨论】:
-
他还需要函数来读取/写入数据到该内存块,因为他无法从 32 位进程执行此操作,并且它不能是普通 DLL,因为 32 位进程将无法加载它。基本上,它要求你写一些非常类似于旧时代的 EMS/XMS 内存“扩展器”的东西......