c - 在 GCC 中对齐 malloc()?

标签 c gcc malloc memory-alignment

GCC 或 glibc 中是否有任何标准化函数可以在对齐指针处分配内存块? 喜欢_align_malloc()在 MSVC 中?

最佳答案

既然问了这个问题,一个新函数被C11标准化了:

void *aligned_alloc(size_t alignment, size_t size);

它在 glibc 中可用(据我所知在 Windows 上不可用)。它以与 memalign 相同的顺序获取参数,与 Microsoft 的 _aligned_malloc 相反,并使用与通常相同的 free 函数进行释放。

一个细微的区别是 aligned_alloc 要求 sizealignment 的倍数。

关于c - 在 GCC 中对齐 malloc()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22841047/

相关文章:

c - Visual Studio 2015 - 使用 C90 标准?

c++ - 为什么重载运算符&&错误?

c - 带有 icd 指针的 C 代码中的 Valgrind 错误

c - 为什么 mmap() 按降序返回地址,而 malloc() 按升序返回地址?

c - SCSI 读取容量 (10) 报告错误的 LBA 和扇区大小

c++ - 如果我增加一个数组变量会发生什么?

c - 这个特定函数的时间复杂度\big(O) 是多少?

c - GCC 优化可能产生的副作用是什么?

c - 为什么MinGW的stdio.h文件会导致语法错误?

c - 正确使用 malloc()