В компиляторе Microsoft C / C ++ вы можете использовать _aligned_malloc и в Linux posix_memalign .
MSVC:
ptr = _aligned_malloc(4, 4);
Подпись:
void * _aligned_malloc(size_t size, size_t alignment);
Linux:
posix_memalign(&ptr, 4, 4); // returns 0 if successful
Подпись (порядок примечаний обратный, сравнивается с MSFT):
int posix_memalign(void **memptr, size_t alignment, size_t size);