[トップ]
[編集]
[本文]
[編集履歴]
[一覧]
[最近の更新]
[->English]
Topics
HSPWiKi
HSPTV!
HSPTV!-HSP3掲示板
HSP2 BBS
HSP3 BBS
OpenHSP
HSP3バグトラック
HSPWiKiについて
HSP関連文書
HSPプラグイン・モジュールのリスト
HSP関連ツール集
HSP素材集
HSP関連リンク集
HSPコンテスト
練習ページ
一覧
最近の更新
RSS
InterWikiName
Search
Recent Changes
HSPWiKi
HSPWiKi:提案・質問など
素材リンク集
Note:オブジェクトのウィンドウハンドルを取得
1_HSPコンテスト2016
0_HSPコンテスト2016
練習ページ
GOMEKIT!
HSPコンテスト
ちょっとしたソースコードを投稿するスレ
戦闘魔王
HSPPRINT互換モジュール:サンプルスクリプト
HSPPRINT(瓶詰堂版)互換モジュール
Module:Misc
HSPPRINT(瓶詰堂版)互換モジュール:印刷プラグインforHSP互換モジュール
HSPでコールバックモジュール
modclbk:コールバック用モジュール
MODCLBK3B2:コールバック用モジュール
HSPプラグイン・モジュールのリスト/展開
HSPプラグイン・モジュールのリスト
More ...
Note:hsp2.61互換ソースとhsp3.x準拠ソースのまとめ
→
hsp2.61互換ソースとhsp3.x準拠ソースのまとめ
に戻る
hsp261cmp.asですが、一部の関数は互換を考慮されていないみたい。なぜ
#undef int #define int(%1) %1=int@hsp(%1)
とかしていないんだろう...
一部だけ
っていうのがますます混乱させていると思う。
これすると
#func
/
#cfunc
/
#deffunc
/
#defcfunc
/
#modfunc
/
#modinit
/
#comfunc
などで問題になるからでは?同じキーワードを使うために仕様上、不可能になってしまった例ですね。
いや、あくまで以前は命令だったものが関数になったものを対象に命令形式の記述をサポートするためのものがhsp261cmp.asの役割だと思うので、「HSP3の機能全てを2.61互換に」というわけではないので#系コマンドは対象外...
あ!っていうかそういうことですか!引数の型に「int」「str」とかありましたねー、なるほど。納得です。
実際にはそれが理由が対応していないのかどうかは分かりませんが、実質的に対応不可能な状態になっているということは間違いないです。本当は競合しちゃうのはまずいので、上記のような型指定の時は例外にするか型名を変更するか型名指定を文字列にするなど何らかの対策が必要だと思いますけどね。(型指定の場合はマクロ置き換えを自動で無効にするのがユーザー側の負担は一番少ない(=スクリプトを変更する必要ないので)ですが難しそうですね)プリプロセッサ命令の処理が他のプリプロセッサ命令の処理に影響してしまう問題ですね。上記の定義命令/定義関数関係のプリプロセッサ命令はプリプロセス処理後にも残り、コンパイラに渡されるんですよね。