Shiba/Shiba Byte Code
https://www.10106.net/~hoboaki/wiki/?Shiba%2FShiba%20Byte%20Code
Front page
Edit
Upload
Search
Recent changes
Help
New
Edit
Freeze
Referer
Wiki書式ヘルプ(整形ルール)
recent(40)
Vulkan
ゲームプログラマの小話
チラ裏
RecentDeleted
Personal/アニメ&ゲーム記録
CrossFramework/実装メモ
CrossFramework
Tool/Maya
Private
FrontPage
CrossFramework/開発環境
WikiTest
C++/オープンソースライブラリゲームプログラミング/開発環境
C++/コーディングスタイルの悩み
CrossFramework/コード規約
JCurl
Personal
Tool/Doxygen
Tool
C++/オープンソースライブラリゲームプログラミング
CSharp/ちょこっとコード集
CSharp
C++/オープンソースライブラリゲームプログラミング/トラブルとその解決
Tool/XCode
C++/コーディング規則
Shiba/メモ
Shiba/Shiba VM
Shiba/Shiba Language/文
Shiba/Shiba Language/型
Shiba/Shiba VM/メモ
Shiba
Shiba/Shiba Byte Code
Shiba/Shiba Engine
Shiba/Shiba Language/ユーザー定義型
Shiba/Shiba Language/モジュール
Shiba/Shiba Language/字句
Shiba/Shiba Language/式
Shiba/Shiba Language/宣言
Shiba/Shiba Language/概要
Shiba/Shiba Language
Total : 2189
Today : 1 Yestrday : 0
Top
>
Shiba
> Shiba Byte Code
Shiba Byte Code
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)
-
Last-modified: (4564d)
Link:
Shiba
(4564d)