C++/AngelScript/虎の巻
をテンプレートにして作成
ホーム
検索
最終更新
ヘルプ
Wiki書式ヘルプ(整形ルール)
開始行:
* 虎の巻 - Effective AngelScript [#pc67815b]
#contents
Last-modified: &lastmod();
** このページについて [#jf5661b7]
AngelScript(以下AS)を使うにあたって知っておいたほうがお...
** オブジェクトを引数にとるときはオブジェクトハンドルでは...
下記のような2つの関数があった場合,funcHandleのほうが処...
#code(c,){{
class Class {};
void funcRef( Class& obj )
{
}
void funcHandle( Class@ obj )
{
}
}}
これは,funcHandleはオブジェクトハンドルで受け取っている...
オブジェクトハンドルを引数に使わないといけないケースはな...
関数の引数には参照のみを使うようにしましょう。
** よく使うコードはASではなくC++で書こう [#v42f5614]
ASコード上で定義したクラスの動作はあまり速くありません。
遅い原因として
・ASコード上で定義したクラスはアクセス時に参照カウント処...
・仮想マシン上でコードが実行されるためネイティブなC++コー...
といったことが挙げられます。
このようなところから,よく使うコードはC++で書いてバインド...
筆者はVector3やMatrix34などよく使う数学クラスなどをC++で...
** ASコードでしか登録できないもの・C++コードでしか登録で...
ASコードで登録できるもの全てがC++コードで登録できるわけで...
また逆に,C++コードで登録できるもの全てがASコードで登録で...
ASコード,C++コード,それぞれが登録できるものは把握してお...
下記の表がそれのまとめになります。
|項目|AS|C++|h
|クラスを継承したクラスの宣言|o|x|
|インターフェースを継承したクラスの宣言|o|x|
|POD型のクラスの宣言|x|o|
|値型のクラスの宣言|x|o|
** C++のPOD型のクラスはasOBJ_PODフラグを付けよう [#ga2385...
C++コード上のPOD型のクラスをASにバインドするときはasOBJ_P...
ここでいうPOD型とは,メンバ変数にポインタやオブジェクトハ...
asOBJ_PODをつけるとデフォルトコンストラクタ・代入演算子の...
** in,out,inoutについて理解しよう [#o45d310e]
ASの関数の引数に使われる&in,&out,&inout修飾子は少々癖があ...
これらの使い分けについて理解しておきましょう。
下記の表に各修飾子をつけたときの動作の説明を記述しました。
|修飾子|動作説明|h
|&in|関数コール時に渡された値が一時変数にコピーされ,関数...
|const &in|関数コール時に渡された参照を,そのまま関数本体...
|&out|未初期化の一時変数の参照が関数本体に渡されます。&br...
|const &out|動作内容が不明です。&br;(公式のドキュメント...
|&inout|関数コール時に渡された参照を,そのまま関数本体に...
|const &inout|動作内容が不明です。&br;(公式のドキュメント...
通常使うであろう修飾子は
- const &in
- &out
- &inout
の3種類です。
(&inは処理パフォーマンスが悪くなるので使うことはないでし...
この3種類の使い方と動作さえ覚えておけばコーディングで困...
** 処理負荷が軽いメモリアロケータを登録しよう [#x9c0ba97]
ASはスクリプト実行時にかなりの回数のAlloc/Freeをコールし...
そのため,asSetGlobalMemoryFunctions関数で登録したメモリ...
スクリプトのパフォーマンスに大きな影響を与えます。
ASに登録するメモリアロケータは処理負荷が軽いものを登録す...
終了行:
* 虎の巻 - Effective AngelScript [#pc67815b]
#contents
Last-modified: &lastmod();
** このページについて [#jf5661b7]
AngelScript(以下AS)を使うにあたって知っておいたほうがお...
** オブジェクトを引数にとるときはオブジェクトハンドルでは...
下記のような2つの関数があった場合,funcHandleのほうが処...
#code(c,){{
class Class {};
void funcRef( Class& obj )
{
}
void funcHandle( Class@ obj )
{
}
}}
これは,funcHandleはオブジェクトハンドルで受け取っている...
オブジェクトハンドルを引数に使わないといけないケースはな...
関数の引数には参照のみを使うようにしましょう。
** よく使うコードはASではなくC++で書こう [#v42f5614]
ASコード上で定義したクラスの動作はあまり速くありません。
遅い原因として
・ASコード上で定義したクラスはアクセス時に参照カウント処...
・仮想マシン上でコードが実行されるためネイティブなC++コー...
といったことが挙げられます。
このようなところから,よく使うコードはC++で書いてバインド...
筆者はVector3やMatrix34などよく使う数学クラスなどをC++で...
** ASコードでしか登録できないもの・C++コードでしか登録で...
ASコードで登録できるもの全てがC++コードで登録できるわけで...
また逆に,C++コードで登録できるもの全てがASコードで登録で...
ASコード,C++コード,それぞれが登録できるものは把握してお...
下記の表がそれのまとめになります。
|項目|AS|C++|h
|クラスを継承したクラスの宣言|o|x|
|インターフェースを継承したクラスの宣言|o|x|
|POD型のクラスの宣言|x|o|
|値型のクラスの宣言|x|o|
** C++のPOD型のクラスはasOBJ_PODフラグを付けよう [#ga2385...
C++コード上のPOD型のクラスをASにバインドするときはasOBJ_P...
ここでいうPOD型とは,メンバ変数にポインタやオブジェクトハ...
asOBJ_PODをつけるとデフォルトコンストラクタ・代入演算子の...
** in,out,inoutについて理解しよう [#o45d310e]
ASの関数の引数に使われる&in,&out,&inout修飾子は少々癖があ...
これらの使い分けについて理解しておきましょう。
下記の表に各修飾子をつけたときの動作の説明を記述しました。
|修飾子|動作説明|h
|&in|関数コール時に渡された値が一時変数にコピーされ,関数...
|const &in|関数コール時に渡された参照を,そのまま関数本体...
|&out|未初期化の一時変数の参照が関数本体に渡されます。&br...
|const &out|動作内容が不明です。&br;(公式のドキュメント...
|&inout|関数コール時に渡された参照を,そのまま関数本体に...
|const &inout|動作内容が不明です。&br;(公式のドキュメント...
通常使うであろう修飾子は
- const &in
- &out
- &inout
の3種類です。
(&inは処理パフォーマンスが悪くなるので使うことはないでし...
この3種類の使い方と動作さえ覚えておけばコーディングで困...
** 処理負荷が軽いメモリアロケータを登録しよう [#x9c0ba97]
ASはスクリプト実行時にかなりの回数のAlloc/Freeをコールし...
そのため,asSetGlobalMemoryFunctions関数で登録したメモリ...
スクリプトのパフォーマンスに大きな影響を与えます。
ASに登録するメモリアロケータは処理負荷が軽いものを登録す...
ページ名: