トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
Lua
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ Cの関数をバインドする


  POINT
   Lua < -> C で Data を交換するのは, すべてスタック経由
   Lua からの引数もスタック経由でうけとり、 C からの返値をスタックにのせる


int add( lua_State *s )
{
  printf( "call func\n" );

  // 第2引数をスタックから int として取得
  int n2 = luaL_checkint(s, -2);
  // 第一引数
  int n1 = luaL_checkint(s, -1);

  int ret = n1 + n2;
  
  //  戻値をスタックに積む
  lua_pushnumber( s, ret );
  
  // スタックに積んだ数を返す。
  return 1;
}


int main()
{
  printf( "test\n" );


  lua_State *s;

  s = lua_open();
  luaL_openlibs( s );

  // add
  lua_register(s, "add", add );

  //luaL_dofile( s, path.c_str() );
  luaL_dofile( s, "d:/work/pro/lua/script/test.lua" );

  lua_close( s );
  
  return 0;
}

















NINJAIDX 18