将传入地址按指定字节进行对齐:
void* HMPP_AlignPtr(void *ptr, int32_t align);
参数名 |
描述 |
取值范围 |
输入/输出 |
---|---|---|---|
ptr |
源地址。 |
非空 |
输入 |
align |
对齐字节。 |
2的整数次幂 |
输入 |
无
#define BUFFER_SIZE 100 #define ALIGN_BYTE 64 void AlignPtr_Example() { void *ptr = malloc(BUFFER_SIZE); if (ptr != NULL) { void *alignPtr = HMPP_AlignPtr(ptr, ALIGN_BYTE); if ((uint64_t)alignPtr % ALIGN_BYTE == 0) { printf("%d byte align\n", ALIGN_BYTE); } else { printf("not byte align\n"); } } }
运行结果:
64 byte align