HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
1116
ルンバで踊るカトチャ#ラベルの定義が存在しません エラーが解決できない2未解決


ルンバで踊るカトチャ

リンク

2020/11/16(Mon) 23:20:42|NO.91811

下記のスクリプトを実行すると後述するエラーを吐き出します。

いくら考えても何が間違っているのわかりません・・。

スクリプトを削って最小限にしてデバッグしてみたが解決せず。


何か基本的な知識が抜けているのでしょうか。

教えて頂けると大変ありがたいのです。


/////////////////////////////////////////////////////////////// #module "test" *test_a return *test_b return #global gosub *test_a@test mes "end" //#ラベルの定義が存在しません [test_a@test] //test.hsp(12) : error 19 : 致命的なエラーです (12行目)



この記事に返信する


TOMATO

リンク

2020/11/17(Tue) 04:05:40|NO.91812

その1.最適化を切る(おすすめはしないです)


#cmpopt optcode 0 #module "test" *test_a return *test_b return #global gosub *test_a@test mes "end"

その2.モジュールTestに対して、呼び出す命令を1つだけ作って呼ぶ

#module "test" #deffunc test_Init // dummy return *test_a return *test_b return #global test_Init gosub *test_a@test mes "end"



TOMATO

リンク

2020/11/17(Tue) 04:09:28|NO.91813

何が起きているかと言いますと、
#module "test" 〜 #global がコンパイル時の最適化機能によって自動削除されています。
なので、ラベルが見つからないとエラーが表示されているようです。

最適化を切るか、モジュール内のユーザー定義命令への参照があれば削除されないため、
意図的に初期化用のダミー命令を用意して、最適化による削除が発動しないようにしています。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.91811への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2018(c) All rights reserved.