1:安装luaBridge

  

git地址  https://github.com/vinniefalco/LuaBridge.git

  

2:编写程序

  

#include <lua.hpp>
#include <LuaBridge/LuaBridge.h> #include <iostream>
#include <string> class A
{
public:
void action()
{
std::cout<<"Hello I am A\n";
} virtual void doPrint(int a,int b)
{
std::cout<<"in A a:"<<a<<"b:"<<b<<std::endl;
} std::string goodMan() const
{
return "goodman";
}
}; class B : public A
{
public:
void hello(const std::string& info) const
{
std::cout<<"hello:"<<info<<std::endl;
} virtual void doPrint(int a, int b) override
{
std::cout<<"in B just"<<(a + b) <<std::endl;
}
}; void globalFunction()
{
std::cout<<"hello this is a global func\n";
} bool reloadLuaScript(lua_State* L, const std::string& luafile)
{
int state = luaL_dofile(L, luafile.c_str());
if(state != LUA_OK)
{
return false;
}
return true;
} int main(int argc, char** argv)
{
lua_State* L = luaL_newstate(); luaL_openlibs(L);
std::cout<<"try load file"<<argv[1]<<std::endl; auto ok = reloadLuaScript(L, argv[1]);
if(!ok)
{
std::cout<<"load lua file failed\n";
}
else
{
}
lua_close(L);
L = nullptr;
}

  

3:编译程序

  

g++ -std=c++11 -o testlua testLua.cpp -llua -ldl

  

4:编写Lua文件

  

//abc.lua
print("hello");
print("This is myWorld!\n");

  

5:运行

  

./testlua abc.lua

  

  运行结果:     

try load fileabc.lua
hello
This is myWorld!

  

 

lua开发的更多相关文章

  1. nginx 与 lua 开发环境搭建

    首先下载最新版的 相关软件 的安装文件. nginx: http://nginx.org/en/download.html LuaJIT: http://luajit.org/download.htm ...

  2. 在cocos code ide的基础上构建自己的lua开发调试环境

    对于一种语言,其所谓开发调试环境, 大体有以下两方面的内容: 1.开发, 即代码编写, 主要是代码提示.补齐, 更高级一点的如变量名颜色等. 2.调试, 主要是运行状态下断点.查看变量.堆栈等. 现在 ...

  3. 详解LUA开发工具及其环境配置

    LUA开发工具及其环境配置是本文要介绍的内容,主要是来了解并学习lua开发工具的使用和环境的配置,第一次接触LUA的话,就跟本人一起学习吧.看我能不能忽悠到你. LUA是语言,那么一定有编写的工具.第 ...

  4. Lua开发环境配置

    Lua(英语发音:/ˈluːə/)程序设计语言是一个简洁.轻量.可扩展的脚本语言,是葡萄牙语中“Luna”(月亮)的意思. Lua is a powerful, fast, lightweight, ...

  5. 一、ESP8266入门(基于LUA开发)

    序 一入坑便停不下来... 还挺有意思的哈,233,,,, 资料杂,自己一个一个去找确实浪费了不少时间,而且大多还都是英文的,需要硬着头皮看. 这次实践入门,更是对英语的重要确信无疑.Github必须 ...

  6. Nginx详解二十三:Nginx深度学习篇之Nginx+Lua开发环境搭建

    Nginx+Lua开发环境 1.下载LuaJIT解释器wget http://luajit.org/download/LuaJIT-2.0.2.tar.gztar -zxvf LuaJIT-2.0.2 ...

  7. [转载]使用VS2015搭建Lua开发环境

    参考原文请看: Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一) Lua学习笔记2:Windows7下使用VS2015搭建Lua开发环境(二) 本篇主要分以下几个部分: 一 ...

  8. 快速将wax配置到项目中进行lua开发

    通过Finder浏览到你保存该项目的文件夹.创建三个新的文件夹:wax.scripts和Classes. 第一:首先,下载源代码的压缩包.Wax放在GitHub上(https://github.com ...

  9. CentOS安装OpenResty(Nginx+Lua)开发环境

    一.简介 OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高 ...

  10. (转)Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境

    Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_ ...

随机推荐

  1. 学习笔记:Javascript 变量 包装对象

    学习笔记:Javascript 变量 包装对象 如下代码,可以输出字符的长度. var str = "Tony"; str.length; 这时再试试以下代码,返回是 undefi ...

  2. vue-cli 创建的项目,在 nginx 上配置启用浏览器缓存

    nginx 配置,关键参数: server { listen 80; server_name xxx.xxx.xxx.xxx; charset utf-8; root /home/xxx/dist/; ...

  3. hdfs 例子

    package hadoop; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; ...

  4. Jmeter录制脚本过程及Could not create script recorder报错、您的连接不是私密连接报错

    转载自    https://www.cnblogs.com/wwho/p/7173172.html Jmeter录制脚本过程及Could not create script recorder报错.您 ...

  5. 转JMeter ----数据库 not allowed to connect to this MySQL

    测试的时候遇到报错:   Cannot create PoolableConnectionFactory (null,  message from server: "Host 'ceshiP ...

  6. Go sql语句引号问题

    使用Go进行Mysql开发时,会遇到引号问题(实际上,与语言无关,只要使用sql就会遇到这些类似问题). 本文举例说明如何解决这些问题. Example1 第一例子演示格式字符是否要加引号. 代码如下 ...

  7. PostgreSQL的下载安装

    下载地址:http://www.postgres.cn/download 下载地址:http://www.filehorse.com/download-postgresql-64/ 下载地址2:htt ...

  8. Linux下安装uci

    Compiling UCI as stand alone cd ~ git clone git://nbd.name/uci.git ~/uci cd ~/uci cmake -DBUILD_LUA= ...

  9. OpenEXR的输出机制

    最近在一直在研究OpenEXR这个软件.这个软件的图像输出机制很有意思,特地分享一下学习心得,就当是笔记了. 我的OpenEXR软件版本是2.2.0,系统平台是win7. 安装完毕OpenEXR之后我 ...

  10. C# 中HttpClient的使用中同步异步问题

    项目中遇到了这样的问题: 第一次 :HttpResponseMessage response = await httpClient.PostAsync(url, null);发送了一个post异步请求 ...