0

allocate_aligned管理された共有メモリにアラインされたメモリのチャンクを割り当てるために使用する場合、この割り当てが他のプロセスで共有されたときに同じアラインメントを持つことが保証されますか? もちろん、ドキュメントでは、ベースアドレスが異なる方法でマッピングされる可能性があることを明確にしていますが、アライメントについては何も述べていないようです。

アライメントが同じであることを示すように見える実験を実行しましたが、それは運次第かもしれないので、予想される動作についてより信頼できる確認を得たいと思います。(常識的には、同じアライメントであるべきだと言っています。そうしないとallocate_aligned、共有メモリ内の有用性が大幅に制限されますが、常識に訴えるだけでは十分ではありません。)

4

1 に答える 1

1

はい、何らかの奇妙な理由でページの配置以上のものが必要でない限り。

ベース アドレスは別の方法でマッピングされる場合がありますが、そのようなマッピングはページ単位で行われます。これは、一般的なアーキテクチャでの 4K アライメントを意味します。

于 2012-11-16T13:01:54.507 に答える