2010-07-22 11 views

Respuesta

4

No responde su pregunta directamente, pero creo que se supone que debe usar _aligned_malloc. Si mi entendimiento es correcto, _mm_malloc es para compiladores de Intel.

+0

'_mm_malloc' es compatible con gcc, y' _aligned_malloc' no lo es. El compilador de Microsoft parece ser compatible también, pero no puedo encontrar ningún documento oficial al respecto. –

+0

Parece que no es compatible oficialmente, la "implementación" msvc es simplemente '#define _mm_malloc (a, b) _aligned_malloc (a, b)' por lo que es solo cuestión de si quiere confiar en que MS no cambiará eso (una suposición bastante buena es que lo mantendrán), o proporcione una definición similar cuando esté compilando para Windows. – nos

+0

Cabe señalar que '_aligned_alloc' es ** NOT ** el C11/C++ 11' aligned_alloc': los parámetros están invertidos y '_aligned_alloc' no es compatible con' free'. – diapir

0

¿No memalign() en <malloc.h> resolver esto? La página de manual dice que es obsoleta, pero ...

1

_mm_malloc/_mm_free compatible con Visual Studio 2013 con el uso del encabezado <malloc.h>.

+1

"usando el encabezado" - ¿qué encabezado? – Robinson

+0

@Robinson El de la pregunta: '' –