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


HSPTV!掲示板


未解決 解決 停止 削除要請

2024
0318
ゴートうひとりモジュール型変数の構造について2解決


ゴートうひとり

リンク

2024/3/18(Mon) 23:57:45|NO.101425

以下のコードでモジュール型変数 obj を作成します。

#module Test _a, _b, _c #modinit int a, str b, double c _a = a _b = b _c = c return #global newmod obj, Test, 1, "test", 3.14
上記コードで作成したモジュール型変数 obj を knowbug で見ると、
次のような dump が確認できます。

dump 0 1 2 3 4 5 6 7 8 9 A B C D E F ---------------------------------------------------- 0000 04 00 01 00 01 00 00 00 01 00 00 00 00 00 00 00 0010 00 00 00 00 00 00 00 00 04 00 00 00 08 78 53 00 0020 66 00 74 00 09 00 00 00 00 00 00 00 20 00 53 00 0030 02 00 01 00 01 00 00 00 01 00 00 00 00 00 00 00 0040 00 00 00 00 00 00 00 00 04 00 00 00 B0 77 53 00 0050 58 83 56 00 0A 00 00 00 00 00 00 00 31 00 37 00 0060 03 00 01 00 01 00 00 00 01 00 00 00 00 00 00 00 0070 00 00 00 00 00 00 00 00 08 00 00 00 58 77 53 00 0080 64 00 65 00 09 00 00 00 00 00 00 00 00 00 00 00
このバイナリがどういった構造で並んでいるかご存じの方はいらっしゃいますでしょうか。

何となく、各モジュール変数が 48 バイト区切りで並んでいて、
それぞれの 1 バイト目はそのモジュール変数の型を表していることまでは理解できたのですが、
他がまったくわかりません。

何かこれについて言及されているドキュメント等ありましたら教えていただけると幸いです。



この記事に返信する


usagi

リンク

2024/3/19(Tue) 17:29:59|NO.101426

こんにちわ。私はknowbugは使っていないので、
正しい事は製作者様に聞かれた方がよろしいかと思いますが、
HSPで変数に保存されるデータを示すための情報である"PVal構造体"を表示しているようでした。

hspsdkフォルダの"hspdll.txt"ドキュメントと"hspvar_core.h"を参照すると宜しいかと思われました。



ゴートうひとり

リンク

2024/3/20(Wed) 00:32:03|NO.101428

usagi 様、ご回答ありがとうございます。

HSP の実装に関するドキュメントがあったのですね。
C/C++ のことはよくわからないのですが、がんばって読んでみたいと思います。

PVal 構造体というキーワードについても教えていただきありがとうございます。
Google で調べたらいろいろ解説サイトが出てきたので、参考にしようと思います。



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