Shiba/Shiba Byte Code
のバックアップの現在との差分(No.1)
ホーム
検索
最終更新
ヘルプ
リンク元
Wiki書式ヘルプ(整形ルール)
バックアップ一覧
差分
を表示
現在との差分
を表示
ソース
を表示
バックアップ
を表示
Shiba/Shiba Byte Code
へ行く。
Shiba Object File
Shiba Byte Code
Shiba Object File
Shiba Byte Code
オブジェクトファイル
バイトコード
モジュール名
定数テーブル
シンボルテーブル
シンボル一覧
シンボル解決情報
オブジェクトファイル
バイトコード
Cでいう.oのファイル。
含まれるもの
モジュール名
定数テーブル
シンボルテーブル
シンボル一覧
シンボル解決情報
モジュール名
モジュール名が文字列として格納される。
定数テーブル
必要な定数テーブルの長さ。
コンパイル時に解決されている定数郡。
.oのファイルサイズ縮小のために,コンパイル時に解決されている定数郡は定数テーブルの先頭に置いておく。
そうしておくことで,リンク時に解決される定数郡のデータ量が.oから削減される。(.sbssと同じ考え方)
シンボルテーブル
必要なシンボルテーブルの長さのみ格納される。
シンボル一覧
モジュールはユーザー定義型リストを持つ。
ユーザー定義型リスト
ユーザー定義型についての情報が0個以上格納されている。
エンジンではユーザー定義型の情報が1つにつきSSObjectTypeが1つ生成される。
項目
内容
例
シンボルのパス
文字列
BaseLib.Math.Vector3
継承しているクラスのパス
文字列
Foo
仮想関数テーブルリスト
別項:仮想関数テーブルリストを参照
変数リスト
別項:変数リストを参照
関数リスト
別項:関数リストを参照
仮想関数テーブルリスト
仮想関数テーブルについての情報が0個以上格納されている。
エンジンでは仮想関数テーブルの情報が1つにつきSSVirutalFuncTableが生成される。
項目
内容
例
シンボルのパス
文字列
BaseLib.IDrawable
仮想関数シンボルテーブル
SymbolTableIndexの配列
変数リスト
変数についての情報が0個以上格納されている。
エンジンでは変数の情報が1つにつきSSVariableが1つ生成される。
項目
内容
例
型を示すシンボルのパス
文字列
float
シンボル名
文字列
x
staticフラグ
bool(staticか否か)
readonlyフラグ
bool(readonlyか否か)
constフラグ
bool(constか否か)
関数リスト
関数についての情報が0個以上格納されている。
エンジンでは関数の情報が1つにつきSSFunctionが1つ生成される。
項目
内容
例
シンボル名
文字列
add
戻り値の型を示すシンボルのパス
文字列
BaseLib.Math.Vector3
戻り値のconstフラグ
bool(constか否か)
引数リスト
別項:引数リストを参照
staticフラグ
bool(staticか否か)
constフラグ
bool(constか否か)
命令コード
バイトコード
引数リスト
引数についての情報が0個以上格納されている。
エンジンでは引数の情報が1つにつきSSFunctionArgが1つ生成される。
項目
内容
例
型を示すシンボルのパス
文字列
float
constフラグ
bool(constか否か)
refフラグ
bool(refか否か)
シンボル解決情報
シンボルの種類は変数・関数・ユーザー定義型の3つ。
変数
項目
内容
例
代入先
定数テーブル or シンボルテーブル
-
シンボルパス
解決するシンボルのパス
BaseLib.Math.Vector3.x
シンボルの何を取得するのか。
・変数オブジェクト(SSVariableのポインタ)
・サイズ(u32)
・先頭からのオフセット距離(u32)
-
関数
項目
内容
例
代入先
シンボルテーブル
-
シンボルパス
解決するシンボルのパス
BaseLib.Math.Vector3.add
引数リスト
引数の型のリスト
属性
const,staticなどの属性
シンボルの何を取得するのか。
・関数オブジェクト(SSFunctionのポインタ)
-
ユーザー定義型
項目
内容
例
代入先
定数テーブル
-
シンボルパス
解決するシンボルのパス
BaseLib.Math.Vector3
シンボルの何を取得するのか。
・ユーザー定義型オブジェクト(SSObjectTypeのポインタ)
・サイズ(u32)
-