2010-07-22 4 views

Répondre

4

Ne répond pas directement à votre question, mais je pense que vous êtes supposé utiliser _aligned_malloc. Si ma compréhension est correcte, _mm_malloc est pour les compilateurs Intel.

+0

'_mm_malloc' est supporté par gcc, et' _aligned_malloc' ne l'est pas. Le compilateur Microsoft semble le soutenir aussi, mais je ne trouve aucun document officiel à ce sujet. –

+0

Il semble ne pas être officiellement supporté, le msvc "implémentation" est juste '#define _mm_malloc (a, b) _aligned_malloc (a, b)' c'est donc juste une question de savoir si vous voulez compter sur MS ne pas changer cela (une très bonne hypothèse est qu'ils garderont cela autour), ou fournir une définition similaire lorsque vous compilez pour Windows. – nos

+0

Il est à noter que '_aligned_alloc' n'est pas ** C11/C++ 11' aligned_alloc': les paramètres sont inversés et '_aligned_alloc' n'est pas compatible avec' free'. – diapir

0

N'a pas memalign() dans <malloc.h> résoudre ce problème? La page de manuel indique qu'elle est obsolète, mais ...

1

_mm_malloc/_mm_free pris en charge dans Visual Studio 2013 avec l'en-tête <malloc.h>.

+1

"en utilisant l'en-tête" - quel en-tête? – Robinson

+0

@Robinson Celui de la question: '' –