Est-ce que Visual Studio C++ 2008/2010 prend en charge _mm_malloc
officiellement? Il est défini dans malloc.h
mais je ne trouve pas sa description dans la bibliothèque MSDN.VC++ prend-il en charge _mm_malloc?
Répondre
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.
Voir Equivalent C code for _mm_ type functions et, plus lointainement liés, How to allocate aligned memory only using the standard library?
Je sais comment réaliser manuellement l'alignement. La question n'était pas à ce sujet. Le premier lien n'a rien à voir avec ma question aussi. –
Je vois - j'ai mal compris votre question. – EmeryBerger
@EmeryBerger Merci pour le deuxième lien. – legends2k
N'a pas memalign() dans <malloc.h>
résoudre ce problème? La page de manuel indique qu'elle est obsolète, mais ...
_mm_malloc/_mm_free
pris en charge dans Visual Studio 2013 avec l'en-tête <malloc.h>
.
"en utilisant l'en-tête" - quel en-tête? – Robinson
@Robinson Celui de la question: '
'_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. –
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
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