モジュール変数を別の変数へ移動させる

インスタンスを移動させるためのモジュールとサンプルです。
ランタイムの管理から外れるので、丁寧に扱ってください。

インスタンスを移動させるためのモジュールとサンプルです。
ランタイムの管理から外れるので、丁寧に扱ってください。

//使tds12
#module m a
#modinit int _a
a = _a
return
#modcfunc f
return a
#modfunc del
delmod thismod
return
#global
#module
#deffunc toclone var
#deffunc _toclone int ppval
dupptr pval,ppval,48,4
wpoke pval,2,2
return
#deffunc toinited var _mv
toinited1 _mv
toinited2 _mv
return
#deffunc toinited1 var
#deffunc _toinited1 int ppval
dupptr pval,ppval,48,4
wpoke pval,2,1
return
#deffunc toinited2 var _mv
pmv = varptr(_mv)
dupptr fv,pmv,16,4
wpoke fv,0,1
return
return
#global
newmod inst,m,3
inst2 = inst
toclone inst
inst = 2
mes f(inst2)
toinited inst2
delmod inst2
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX