_System_EndProgram

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: _System_EndProgram

by Toshi » 2006年3月24日(金) 20:47

_System_StartupProgram は、呼ばないようにしただけでアクセス違反になりました。
_System_EndProgram は、呼ばなくても実行時にエラーにはなりませんが
メモリが完全には解放されなくなりますね。
なのでどこかで呼ぶものなのかと思い、質問した次第です。

by ノッチ » 2006年3月24日(金) 20:09

> これらのプロシージャで使われている変数名をインクルードのファイルから検索したところ
> string(64).sbp, function.sbp(malloc 関係), prompt.sbp にあったので、
> String 型の変数や malloc 関係の関数を扱ったり、N88BASIC モードのときに必要になるみたいです。。。

そう思って_System_EndProgramを削除した状態でN88BASICモードで文字列を
使ってみたのですが何も起こらず終了しました。

コード: 全て選択

#N88BASIC

Dim a As String
a="1234567890"

End
こんなコードで試したのでもっと特殊なことをしないと反応しないのかも
しれませんが。

by Toshi » 2006年3月24日(金) 20:02

これらのプロシージャで使われている変数名をインクルードのファイルから検索したところ
string(64).sbp, function.sbp(malloc 関係), prompt.sbp にあったので、
String 型の変数や malloc 関係の関数を扱ったり、N88BASIC モードのときに必要になるみたいです。。。

Re: _System_EndProgram

by ノッチ » 2006年3月24日(金) 19:44

> インクルードの中の basic.sbp に既述されている _System_EndProgram は
> クリティカル セクションとヒープの解放を行うものですが、
> _System_StartupProgram のように自動では呼ばれないみたいなので
> どこかのタイミングで呼ぶものなのでしょうか。

たしかに_System_StartupProgram自体を削除しても正常動作しますね。

呼ばれるはずのものが呼ばれてないのか、
なにかの名残で残ってるだけなのか、
ダミーで入ってるだけなのか、
ユーザに"呼んでね" と呼びかけているのか、

つまりよくわかりません。

_System_EndProgram

by Toshi » 2006年3月24日(金) 17:24

インクルードの中の basic.sbp に記述されている _System_EndProgram は
クリティカル セクションとヒープの解放を行うものですが、
_System_StartupProgram のように自動では呼ばれないみたいなので
どこかのタイミングで呼ぶものなのでしょうか。

ページトップ