私はmallocを使い慣れていて、mallocを整列しています。私はそれらを使う方法を知っています。しかし、私は、標準のmallocの代わりに整列したmallocを使うべきかどうかを正確にはわかりません。私に説明してもらえますか?皆さん、ありがとうございました。整列したmallocと標準のmallocの違いは?
0
A
答えて
1
glibc
documentationは、それが合理的に明確にあなたがaligned_alloc
を使用する必要があります:
GNUシステムで
malloc
またはrealloc
によって返されたブロックのアドレスは常に(64ビットシステム上または16)8の倍数であります。アドレスが2より大きい倍数のブロックを必要とする場合は、aligned_alloc
またはposix_memalign
を使用してください。
malloc
は、標準タイプのいずれに対しても適切に位置合わせされたメモリブロックを返すことをすでに保証していますが、より厳格なアライメントが必要な状況があるかもしれません。
SSE2(SIMD)命令のデータが16バイト境界で整列されている必要があるので、は8バイトの境界線のみを保証するシステムでもaligned_alloc
を使用すると、 。
関連する問題
- 1. mallocとdlmallocの相違点
- 2. はmallocとreallocの
- 3. mallocポインタを調整する
- 4. C++の "new"と "malloc"と "calloc"の違いは何ですか?
- 5. mallocとptr =(int *)malloc(100 * sizeof(int))
- 6. ガードmallocのは
- 7. ポインタアドレスはmallocの
- 8. のmallocメモリは
- 9. 失敗したmalloc()のユニットテスト
- 10. mallocのタイミングとフリー
- 11. mallocとポインタコードのデモンストレーション
- 12. 配列型とmallocで割り付けられた配列の相違
- 13. 配列へのmallocポインタ
- 14. mallocの2D配列がEXC_BAD_ACCESS
- 15. C mallocとfree
- 16. mallocとボイドポインタ
- 17. mallocの使い方
- 18. mallocとMarshal.AllocHGlobalとの間に違いがありますか?
- 19. 構造体の配列とmalloc [C]
- 20. mallocとstrtokの使い方は?
- 21. 何がしますか:malloc(10)とmalloc(10 * sizeof(int))
- 22. "malloc(sizeof(struct a *))"と "malloc(sizeof(struct a))"は同じですか?
- 23. ETSI-M2M標準とOneM2M標準の違いは何ですか?
- 24. はmallocのラッパーとしてdlsymを
- 25. のmallocエラー(C)
- 26. mallocのセグメンテーションフォルト:
- 27. のmalloc C
- 28. mallocのメモリリーク
- 29. mallocで予約したデータ
- 30. 何がmallocと割り当ての違い
言語?私はCと仮定しますが、他の環境の詳細(OS、言語実装など)も提供する必要があります。標準Cには 'malloc'のみがあり、すべての標準データ型に対して正しく整列されていることが保証されています。 – paxdiablo
私はUbuntuでC11標準で使用しています – blackcafe
タグとして追加しました。必要に応じて確認および/または変更してください。 – paxdiablo