2010-07-22 44 views

Trả lời

4

Không trả lời trực tiếp câu hỏi của bạn, nhưng tôi cho rằng bạn giả sử sử dụng _aligned_malloc. Nếu sự hiểu biết của tôi là chính xác, _mm_malloc là dành cho các trình biên dịch Intel.

+0

'_mm_malloc' được hỗ trợ bởi gcc và' _aligned_malloc' thì không. Trình biên dịch của Microsoft dường như cũng hỗ trợ nó, nhưng tôi không thể tìm thấy bất kỳ bài báo chính thức nào về nó. –

+0

Dường như không được hỗ trợ chính thức, việc thực thi msvc chỉ là '#define _mm_malloc (a, b) _aligned_malloc (a, b)' vì vậy nó khá là vấn đề liệu bạn có muốn dựa vào MS không thay đổi (một giả định khá tốt là họ sẽ giữ nó xung quanh), hoặc cung cấp một xác định tương tự khi bạn đang biên dịch cho các cửa sổ. – nos

+0

Cần lưu ý rằng '_aligned_alloc' là ** NOT ** C11/C++ 11' aligned_alloc': các tham số được đảo ngược và '_aligned_alloc' không tương thích với' free'. – diapir

0
+1

Tôi biết cách điều chỉnh thủ công theo cách thủ công. Câu hỏi không phải là về nó. Liên kết đầu tiên cũng không liên quan gì đến câu hỏi của tôi. –

+0

Tôi hiểu - Tôi hiểu lầm câu hỏi của bạn. – EmeryBerger

+0

@EmeryBerger Cảm ơn bạn đã liên kết thứ hai. – legends2k

0

Không memalign() trong <malloc.h> giải quyết này? Trang người dùng cho biết nó đã lỗi thời, nhưng ...

1

_mm_malloc/_mm_free được hỗ trợ trong Visual Studio 2013 bằng cách sử dụng tiêu đề <malloc.h>.

+1

"sử dụng tiêu đề" - tiêu đề nào? – Robinson

+0

@Robinson Một câu hỏi trong câu hỏi: '' –