zoukankan      html  css  js  c++  java
  • lua

    c调用lua函数
    double f (double x, double y) { 
        double z; 
        /* push functions and arguments */ 
         lua_getglobal(L, "f"); /* function to be called */
         lua_pushnumber(L, x); /* push 1st argument */
         lua_pushnumber(L, y); /* push 2nd argument */
        /* do the call (2 arguments, 1 result) */ 
        if (lua_pcall(L, 2, 1, 0) != 0) 
         error(L, "error running function `f': %s", 
         lua_tostring(L, -1)); 
        /* retrieve result */ 
        if (!lua_isnumber(L, -1)) 
         error(L, "function `f' must return a number"); 
         z = lua_tonumber(L, -1); 
         lua_pop(L, 1); /* pop returned value */
        return z; 
    }
    
    lua调用c函数
    lua_pushcfunction(l, l_sin) //获取c函数的指针,并在lua中创建一个function类型的值来表示这个函数
    lua_setglobal(l, "mysin")    //赋值给全局变量mysin
    
    static const struct luaL_reg mylib [] = { 
     {"dir", l_dir}, 
     {NULL, NULL} /* sentinel */
    };
    
    int luaopen_mylib (lua_State *L) { 
     luaL_openlib(L, "mylib", mylib, 0); 
    return 1; 
    }
    
    向lua中注册类
    
    向lua中注册类对象
    
    向lua中注册全局对象
  • 相关阅读:
    云时代架构读后感
    余额宝技术架构读后感
    shiyan
    11111
    编写hdfs文件遇到的问题
    123
    啦啦啦
    Hadoop安装
    js根据银行卡号进行判断属于哪个银行并返回银行卡类型
    git 使用
  • 原文地址:https://www.cnblogs.com/zzyoucan/p/14063014.html
Copyright © 2011-2022 走看看