#author("2021-05-19T23:29:11+09:00","","")
[[for_hsp_beginner]]

* HSPの最適化 [#o3e5ab3a]

モジュール内で

#deffunc等を定義して使用もする

をしないと

最適化で削除されるので、そういう予定でなければ

#cmpopt optcode 0

を入れて最適化をOFFにしてください

変更がなければ記述は1回でいいと思います

#pre{{
#cmpopt optcode 0
#module 
#define global my_button  button
#global
my_Button "aaa",*tmp
stop
*tmp
}}

最適化は使わないAPI等の定義を削除して

実行FILEのsizeを小さくするためにやってるぽいです

最適化されてて欲しいなら

こんなかんじ

#pre{{
#module mdl_Object
#deffunc local init
	logmes "init object"
	return
#define global my_button  button
#global
init@mdl_Object
my_button "aaa",*tmp
stop
*tmp
}}

#のついた命令はマクロで使えなかった気がします

上級者なら使えるかもしれませんが

自分は動きそうで動かなくて

よくわかんないから使うのを諦めましたw

動くようにデバッグ出来そうにないスクリプトです

#pre{{
#module mdl_def
#deffunc local init
	logmes "init def"
	return
#define Global  deffunc #deffunc
#global
init@mdl_def
tmp
stop
deffunc tmp
	mes "abc"
	return
}}