プチコン3号 SmileBASIC コミュニティプレイ日記ナツキ natukin19782017/03/06 21:22:29非参照関数 削除ツール UNREF DELETER Ver 0.01 【M3S8QXK1】9そうだね 14返信プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿ナツキ natukin19782017/3/6 21:28昨日、私が独り言で話していた「関数の依存を調べて、関数やグローバル変数を抜き出すツール」です。 公開しないつもりでしたが、とりあえず「おんつく」など限定的には使えるので公開します。 他の方が書いたプログラムを解析して動かない可能性が高いです。 動作をチュートリアル方式で進めます。0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿ナツキ natukin19782017/3/6 21:33UNREF DELETER 自身に解析をかけてみます。 起動後「UNREF_DELETER_」を選択します。 ちょっと待ちますが、お待ち下さい。0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿ナツキ natukin19782017/3/6 21:36定義してある関数が全て列挙されます。おんつくのファイル選択などでお馴染みのインターフェースです。0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿ナツキ natukin19782017/3/6 21:44main関数を抽出してみます。mainにカーソルを合わせてXボタンを押して下さい。チェックが付きます。 チェックを付けたらAボタンを押して下さい。 MAIN と入力して絞り込みもできますが、項目が多いので少し重いです。0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿ナツキ natukin19782017/3/6 21:48下画面でファイル名を入力します。とりあえず末尾の_(アンダーバー)を消してから決定して下さい。0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿ナツキ natukin19782017/3/6 21:53ちなみに元ファイルと同じファイル名にはできません。元ファイルはとても大事なので……0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿ナツキ natukin19782017/3/6 22:02元ファイルは165068バイトでしたが、抽出後は21245バイトになりました。 UNREF_DELETER をロードして編集画面に移動下さい。 ちなみにまだ動きません。手直しが必要です。0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿ナツキ natukin19782017/3/6 22:05ちなみに実行したら、こうなります。エラーの箇所を直していきます。0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿ナツキ natukin19782017/3/6 22:10273,274行目は不要なので削除します。 勘の良い人は「何でツールが削除してくれないの?」と思うかもしれません。このツールは関数定義は消しますが、呼び出し箇所は消してくれません。0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿ナツキ natukin19782017/3/6 22:15実行したら、別のエラーがでました。 編集画面の該当箇所に行きましょう。0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿ナツキ natukin19782017/3/6 22:21295,296行目の関数は、参照していない関数と判定されて削除されましたので、これも削除します。0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿ナツキ natukin19782017/3/6 22:25次、実行したら、実行できました。 一応、プログラムを一通り動かして、問題なければ成功です。0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[13]親投稿ナツキ natukin19782017/3/6 22:32今回は2箇所の修正で済みましたが場合によっては、かなり手こずるかもしれません。 main関数は根幹の関数なので参照している関数やグローバル変数が多いですが、小さな関数だと依存が少ない事が多いので、ぐっと減ります。 興味がある人は色々試してみて下さい。0そうだね プレイ済み2017/11/02 23:31:29に取得
プチコン3号 SmileBASIC コミュニティ返信[14]親投稿ナツキ natukin19782017/3/6 23:18念をおして言いますが、このツールは「音楽つくろうぜ!(おんつく)」のプログラムソース向けに作りました。(UNREF DELETERが解析できるのは、おんつくを改造して作ったから) よって他の人が書いたプログラムでは正常に動作しないかもしれません。が、動く様に修正する予定は現在のところありません。0そうだね プレイ済み2017/11/02 23:31:29に取得