Visual Studio C++ 2008/2010 supporta _mm_malloc
ufficialmente? È definito in malloc.h
ma non riesco a trovare la sua descrizione nella libreria MSDN.VC++ supporta _mm_malloc?
risposta
Non risponde alla domanda direttamente, ma penso che si supponga di utilizzare _aligned_malloc
. Se la mia comprensione è corretta, _mm_malloc
è per i compilatori Intel.
Vedi Equivalent C code for _mm_ type functions e, più distante relativi, How to allocate aligned memory only using the standard library?
So come ottenere manualmente l'allineamento. La domanda non era su di esso. Il primo link non ha nulla a che fare con la mia domanda. –
Vedo - ho frainteso la tua domanda. – EmeryBerger
@EmeryBerger Grazie per il secondo link. – legends2k
Vuol non memalign() in <malloc.h>
risolvere questo problema? La pagina man dice che è obsoleto, ma ...
_mm_malloc/_mm_free
supportato in Visual Studio 2013 con l'utilizzo dell'intestazione <malloc.h>
.
"using the header" - quale intestazione? – Robinson
@Robinson Quello nella domanda: '
'_mm_malloc' è supportato da gcc e' _aligned_malloc' non lo è. Anche il compilatore Microsoft sembra supportarlo, ma non riesco a trovare alcun documento ufficiale a riguardo. –
Sembra non essere ufficialmente supportato, la "implementazione" di msvc è semplicemente '#define _mm_malloc (a, b) _aligned_malloc (a, b)' quindi è praticamente solo una questione di voler fare affidamento su MS non cambiando quella (un buon presupposto è che lo terranno in giro), o fornire una definizione simile quando si sta compilando per Windows. – nos
Si noti che '_aligned_alloc' è ** NOT ** il C11/C++ 11' aligned_alloc': i parametri sono invertiti e '_aligned_alloc' non è compatibile con' free'. – diapir