NEC ELECTRONICS NEC ELECTRONICS
NEC electronics NEC electronics NEC
ホーム
アプリケーション
製品情報
先端技術
サポート
WEBショップ
ニュース&イベント
会社案内
header
GO
詳細検索機能/特性検索
サイトマップ お問い合わせ

ライブラリ関連


目次

    
FAQ-ID = 78k0r-nnn
493: 必要なときに必要な領域だけメモリを確保したいのですが、どうすればよいですか?

78k0r
-493
必要なときに必要な領域だけメモリを確保したいのですが、どうすればよいですか?
Q
確保したいメモリ領域が変動するため、 プログラムの最初に最大必要領域のメモリを確保すると無駄な領域が発生します。

そのため必要なときに必要な領域だけメモリを確保したいのですが、 どうすればよいですか?
A
malloc, free関数を使用してください。

ただし、CC78K0では、freeで領域を解放するときに、 最後に確保した領域から解放する必要があります。

malloc、freeによるメモリの確保、解放はスタック(LIFO)形式で行われるので、 途中で確保した領域を解放しても解放した領域を再利用することができません。

なお、malloc、freeで使用する領域は、次のようになっています。
CC78K0:32バイト
CC78K0S:32バイト
CC78K4:32バイト(スモール・モデル、ミディアム・モデル)
:48バイト(ラージ・モデル)
CC78K0R:32バイト
領域のサイズを増やしたい場合は、スタートアップ・ルーチンで、 _@MEMTOPのサイズを大きくしてください。

(例)72バイトにする
    _@MEMTOP:       DS      72

-78K0- -78K0S- -78K4- -78K0R-

この情報はお役にたちましたか?
back to top  
(2006/09)





















 ご利用にあたって  個人情報保護について  RSS       © 1995-2008  NEC Electronics Corporation