Lua实验(二)U3D C#调用lua

1. 将lua 打包成lib

2. 新建工程,引用lib,然后新建文件

#define EXPORTBUILD 

//加载头文件 
#include "DllTest.h"
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
#include "luaconf.h"
//设置函数
int _DLLExport MyADD(int x,int y) { return x+y; }
int _DLLExport MyLuaDoString(char *abc) { 
	int re;
	lua_State* L = luaL_newstate();  
	luaL_openlibs(L);  
	luaL_dostring(L, abc);  
	//luaL_dofile(L , abc);

	re = lua_tonumber(L, -1);
	lua_close(L);  

	return re;
}
以及头文件。 注,
re = lua_tonumber(L, -1);

是为了取出返回值返回

3. 打包成dll后放入U3D plugins 中

4. U3D中新建test.CS

using UnityEngine; 
using System.Collections;
 using System.Runtime.InteropServices;
 public class Test : MonoBehaviour { 

	[DllImport ("Lua003")] 
 	private static extern int MyLuaDoString(string abc); 
 	
 	void Awake()
 	{
 		int aa = MyLuaDoString("print(1+2);return 4;");
 		Debug.LogWarning("-----");
 		Debug.LogWarning("-----"+aa);
 	}
 	
 	 void Update () {} 

 	}


5. 得出结果


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值