# NNS_FndCalcHeapSizeForUnitHeap

## 構文

      #include <nnsys/fnd.h>

      u32 NNS_FndCalcHeapSizeForUnitHeap(
              u32     memBlockSize,
              u32     memBlockNum,
              int     alignment);

## 引数

memBlockSize | メモリブロックのサイズ(バイト)
memBlockNum | 確保するメモリブロックの総数
alignment | メモリブロックのアライメント。4,8,16,32のいずれかの値を指定できます。

## 返り値

メモリブロックのサイズと個数から計算したユニットヒープのサイズを返します。

## 説明

メモリブロックのサイズと個数から、必要となるユニットヒープのサイズを取得します。ユニットヒープを作成するときに、この関数で得られた値をヒープに割り当てるメモリ領域のサイズとして指定すると、そのユニットヒープからmemBlockNumで指定した個数のメモリブロックが確保できます。

この関数では実際に作成するユニットヒープの開始アドレスを考慮しません。そのため、アライメントを4より大きい値を指定すると、実際に必要となるサイズをよりも数バイト大きくなることがあります。

## 参照

`NNS_FndCreateUnitHeap, NNS_FndCreateUnitHeapEx`

## 履歴

2004/06/22 初版