Giu*_*ini 5 c pointers memory-management
我必须实现malloc/realloc/free的优化版本(为我的特定应用程序量身定制).目前代码在特定平台上运行,但我想以可移植的方式编写它,如果可能的话(平台将来可能会改变),或者至少我想将可能的平台差异集中在一个点(可能是.h).我知道一些问题:
(我将在这里忽略内存分配的基本系统服务的差异,因为在某些嵌入式系统上它们可能完全不可用.让我们假设我们处理一个大的预分配内存块以用作"堆").
问题:
对齐功能仅在新的 C 标准 C11 中处理。它有关键字_Alignof和_Alignas函数aligned_alloc。使用大多数现代编译器来模拟这些功能并不是很难(如其他答案中所示),因此我建议您自己编写一些小宏或包装器,以便根据__STDC_VERSION__.