整列したメモリを動的に確保する posix memalign

出典: PS3 Linux Information Site / Cell/B.E.のパワーを体験しよう

動的にヒープに整列したメモリを確保します。 普通のmallocもしくはnewは整列したメモリを確保できないので、posix_memalign 関数を使用します。 下記の例では128バイトに整列したメモリを16*1024Byte確保し、結果をpで受け取っています

int main (int argc, void** argv)
{
	int ret;
	char* p;

	ret = posix_memalign ((void**)&p, 128, 16*1024);
	assert (ret == 0);

	cout << "p = " << (void*)p << "\n";

	return 0;
}

特にCellに特化した制限事項はありませんので、 詳しい使い方は man posix_memalign コマンドを使用してマニュアルをご覧ください。 なおSPEでは現在のところ使用できないようです。



Cellプログラミングのレシピに戻る

表示
個人用ツール
Open Source Projects