1. 程式人生 > >Lua和C/C++的互動

Lua和C/C++的互動

1、寫C++函式  

格式:extern “C”int Export_Proc_Name(luaState* luaEnv);

2、新增匯出函式列表

static luaL_Reg luaLibs[] = 

{"XXX", XXX}, 
{NULL, NULL} 
};

3、寫dll入口函式

extern "C" __declspec(dllexport) 
	//在Lua中呼叫此Dll時,Lua會根據此Dll名字找luaopen_YourDllName對應的函式,然後從此函式載入該Dll。
	int luaopen_Win32Project1(lua_State* luaEnv) 


{ 
	const char* const LIBRARY_NAME = "Win32Project1"; 
	//通過luaL_register將LIBRARY_NAME對應的庫名,以及luaL_Reg陣列對應的匯出列表來註冊到lua_State*對應的Lua環境中
	luaL_register(luaEnv, LIBRARY_NAME, luaLibs); 
	return 1; 


}