![]() |
![]() |
|
|
型付きバッファの解放
tpfree(3c) 関数は、tpalloc() で割り当てられたバッファ、または tprealloc() で再度割り当てられたバッファを解放します。次は tpfree() 関数の文法です。
void
tpfree(char *ptr)
tpfree() 関数の引数は、次の表に示す ptr だけです。
tpfree() 関数の引数
引数 |
説明 |
---|---|
ptr |
データ・バッファを指すポインタ。このポインタは、tpalloc() または tprealloc() の呼び出しで設定されます。NULL は指定できません。また、文字型にキャストする必要があります。この 2 つの条件が満たされていない場合、この関数は何も解放しないか、エラー条件を通知しないで制御を戻します。 |
tpfree() を使用して FML32 バッファを解放するとき、ルーチンは埋め込まれたバッファをすべて再帰的に解放して、メモリ・リークの発生を防ぎます。埋め込みバッファが解放されないようにするには、対応するポインタに NULL を指定してから tpfree() ルーチンを発行します。ptr が NULL の場合、何も処理は行われません。 次のコード例は、tpfree() 関数を使用してバッファを解放する方法を示しています。 バッファの解放 関連項目struct aud *audv; /* VIEW 構造体 aud を指すポインタ */
. . .
audv = (struct aud *)tpalloc("VIEW", "aud", sizeof(struct aud));
. . .
tpfree((char *)audv);
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|