xtal

C++側からxtal関数を呼ぶ

xtal::lib()->member(Xid(関数名))->call(引数1,引数2,〜,引数6); 但し、引数はデフォルト設定で6つまで。 これ以上は、Xtalのオリジナルソースにcall関数を記述してから、ライブラリを作成し直す必要がある。

Xtal定義の有効範囲

xtalは、何かを定義する有効範囲として、 xtal::lib()xtal::CodePtr->filelocal() の2つがある。 前者は『xtal::lib()』で始まるオブジェクト全体(XtalのVM全て)が定義の有効範囲となり、 後者はcompile系関数でコンパイルした後のバイトコードを保持する…

C++側クラスをXtalにバインドする

ヘッダーファイル #include <xtal.h> #include <xtal_macro.h> class TestClass { public: //コンストラクタ TestClass(); TestClass(int x); //デストラクタ ~TestClass(); //メソッド void testMethod(int x); //メンバ変数 int testInt; }; ソースファイル //コンストラクタ Tes</xtal_macro.h></xtal.h>…

取り合えず、必要な情報は揃った

後は、自作ライブラリに組み込むだけだ。

Xtal関連をちょっとクラス化しようか.....

Xtalを取り扱う際の基本的な流れは以下の通り。 1.xtal::Settingを定義し、利用する機能を設定する。 ※重要:このxtal::Settingの定義データは、xtal::uninitialize()を実行するまで保持しておく事 2.xtal::initialize()を実行して、VMを生成する。 3.…

公式チュートリアルが間違っているとか

http://zengeren.web.fc2.com/Xtal/embedding/3.html#2 (Xtal非公式チュートリアル) この件のその後ですが、上記サイトに盛大に間違ってますとか出てました。 ヒドイわ! でもこの方法は、初期設定時のみ適用されるだけで二度目以降に設定は出来ないみたいだ…

Xtalチュートリアルコードが動かないんだが....その2

「Xtalへオブジェクトを渡す」にもう一つ方法があったのでテスト。 C側 // C++ void test(){ // コンパイルして、それをcallで実行する。 if(CodePtr code = compile("test.xtal")){ code->def(Xid(foo), 100); code->call(); } } Xtal側 // test.xtal foo.p…

Xtal始めました....は良いんだが、チュートリアルコードが動かないんだが....

とりあえず、Xtalを始めたんだが、チュートリアルのコードが動かない。 「Xtalへオブジェクトを渡す」の所のテストをしたかったんだが、 C++側 // C++ void test(){ // コンパイルして、それをcallで実行する。 if(CodePtr code = compile("test.xtal")){ co…