[トップ]
[編集]
[本文]
[編集履歴]
[一覧]
[最近の更新]
[->English]
Topics
HSPWiKi
HSPTV!
Hot Soup Processor
OpenHSP
HSPTV!-HSP3掲示板
HSP2 BBS
HSP3 BBS
HSPメーリングリスト
HSP開発wiki
HSP Users Group
CodeZine-HSP
HSPWiKiについて
HSP関連文書
HSPプラグイン・モジュールのリスト
HSP関連ツール集
HSP素材集
HSP関連リンク集
HSP3バグトラック
HSPコンテスト
練習ページ
一覧
最近の更新
RSS
InterWikiName
Search
Recent Changes
HSPWiKi
HSPコンテスト
O2 for HSP3
funsuke
書き込んだ人のリスト
HSP3のFAQ:エラーメッセージの意味と対処法が分からない
HSP関連文書
mod_pngtomask:gmode 7用 アルファブレンド画像作成モジュール
Module:Graphics
HSPWiKi:管理の履歴
HSP3埋め込みドキュメント
Note:HSP3モジュール作成ガイドライン
HSP3モジュール作成ガイドライン
予約語の読み方
HSP初心者・入門者向けページ
HSPのFAQ
y.tack
練習ページ
HSP3のFAQ:HSP 関連ファイルの拡張子について
mD3Matrix:マトリクス(行列)計算モジュール
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」とかありましたねー、なるほど。納得です。
実際にはそれが理由が対応していないのかどうかは分かりませんが、実質的に対応不可能な状態になっているということは間違いないです。本当は競合しちゃうのはまずいので、上記のような型指定の時は例外にするか型名を変更するか型名指定を文字列にするなど何らかの対策が必要だと思いますけどね。(型指定の場合はマクロ置き換えを自動で無効にするのがユーザー側の負担は一番少ない(=スクリプトを変更する必要ないので)ですが難しそうですね)プリプロセッサ命令の処理が他のプリプロセッサ命令の処理に影響してしまう問題ですね。上記の定義命令/定義関数関係のプリプロセッサ命令はプリプロセス処理後にも残り、コンパイラに渡されるんですよね。