c++ - 跨平台内存分配器 sbrk/virtualalloc

标签 c++ c memory cross-platform

我想知道是否有比malloc/free低一级的跨平台分配器。

例如,我想要一些在 Linux 中简单地调用 sbrk 并在 Windows 中调用 VirtualAlloc 的东西(可能还有两个类似的系统调用,但这只是一个例子)。

最佳答案

我不熟悉所讨论的功能,但是:

#if defined (__WIN32__)
  #define F(X) VirtualAlloc(X)
#elif defined (__LINUX__) /* or whatever linux's define is */
  #define F(X) sbrk(X)
#endif

不确定语法是否 100%(我是宏和 c 的新手),但总体思路应该可行。

关于c++ - 跨平台内存分配器 sbrk/virtualalloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/780156/

相关文章:

c++ - 为什么我的按钮类项目共享相同的 lambda 函数?

c++ - StackTrace C++ 应用程序

c - 异常抛出 : read access violation

c - 用C语言读取32位二进制

ios - Xcode 8 - 内存调试器不起作用

c++ - 接收任何可迭代容器

c - Makefile FFLAGS 描述

php - 在 PHP5 中处理内存消耗的策略?

c++ - new 的 c++ 关键字的奇怪用法

c++ - OpenGL 绘图纹理