我们正在使用AIX的malloc
。根据IBM malloc, free, realloc, calloc, mallopt, mallinfo, mallinfo_heap, alloca, valloc, or posix_memalign Subroutine上的帮助页面:
malloc子例程返回一个指针,该指针指向至少由Size参数指定的字节数的内存块。该块已对齐,以便可用于任何类型的数据。如果malloc子例程指定的空间超出范围,则会出现未定义的结果。
在我们将数据复制到缓冲区并将其发送到向量单元后,我们得到的结果不正确,因为缓冲区 不 16字节对齐。该页面不讨论vector
数据类型或特殊需求。 vector
数据类型是PowerPC cpus上的标准类型。
我的第一个问题是,当他们说“块已经对齐以便它可以用于任何类型的数据”时,IBM的意思是什么??它是否包含矢量数据类型?
我的第二个问题是,IBM是否提供了像英特尔_mm_malloc
那样的16字节对齐功能?如果是这样,它是什么?