diff options
| author | chai <chaifix@163.com> | 2019-09-17 08:30:49 +0800 |
|---|---|---|
| committer | chai <chaifix@163.com> | 2019-09-17 08:30:49 +0800 |
| commit | 695f88366e507032a3a9e1eb747cc48610a4cbe1 (patch) | |
| tree | b609599d88b0c2133c914c41bbc11e3af026e7c9 /src | |
| parent | ea55f90b49fbfb740a9aec66b4c40060542dc444 (diff) | |
+协程池、枚举、线程测试
Diffstat (limited to 'src')
| -rw-r--r-- | src/01-coroutine/main.cpp | 21 | ||||
| -rw-r--r-- | src/02-enum/enum.lua | 26 | ||||
| -rw-r--r-- | src/02-enum/main.cpp | 42 | ||||
| -rw-r--r-- | src/03-coroutine_pool/main.cpp | 0 | ||||
| -rw-r--r-- | src/03-coroutine_pool/test.lua | 0 | ||||
| -rw-r--r-- | src/04-thread/main.cpp | 0 | ||||
| -rw-r--r-- | src/04-thread/test.lua | 0 | ||||
| -rw-r--r-- | src/configure.h | 38 |
8 files changed, 113 insertions, 14 deletions
diff --git a/src/01-coroutine/main.cpp b/src/01-coroutine/main.cpp index 7e711be..8187f6b 100644 --- a/src/01-coroutine/main.cpp +++ b/src/01-coroutine/main.cpp @@ -1,8 +1,5 @@ -extern "C" { -#include "../lua51/lua.h" -#include "../lua51/lualib.h" -#include "../lua51/lauxlib.h" -} +#include "../configure.h" +#if BUILD_TEST == TEST_1 #include <windows.h> #include <time.h> @@ -48,14 +45,8 @@ luaL_reg fns[] = { void openlibs(lua_State* L) { luaL_openlibs(L); - //luaL_register(L, NULL, fns); - luaL_reg* fn; - int i = 0; - for (fn = &fns[0]; fn->name != 0; fn = &fns[++i]) - { - lua_pushcfunction(L, fn->func); - lua_setglobal(L, fn->name); - } + ///luaL_register(L, NULL, fns); + luax_registerglobal(L, fns); } int main(int args, char* argv[]) @@ -67,4 +58,6 @@ int main(int args, char* argv[]) lua_close(L); return 0; -}
\ No newline at end of file +} + +#endif
\ No newline at end of file diff --git a/src/02-enum/enum.lua b/src/02-enum/enum.lua new file mode 100644 index 0000000..9c64c1f --- /dev/null +++ b/src/02-enum/enum.lua @@ -0,0 +1,26 @@ +local function makeEnum(enumtable) + if enumtable == nil or type(enumtable) ~= "table" then + return nil + end + enumtable.__index = enumtable + enumtable.__newindex = function() + print("can not modify enum") + end + local e = {} + setmetatable(e, enumtable) + return e +end + +local function main() + local mode = makeEnum({ + SinglePlayer = 1, + TwoPlayers= 2, + ThreePlayers= 3, + FourPlayers= 4, + PVCom= 5, + }) + mode.SinglePlayer = 2 + print(mode.SinglePlayer) +end + +main()
\ No newline at end of file diff --git a/src/02-enum/main.cpp b/src/02-enum/main.cpp new file mode 100644 index 0000000..172364b --- /dev/null +++ b/src/02-enum/main.cpp @@ -0,0 +1,42 @@ +#include "../configure.h" +#if BUILD_TEST == TEST_2 + +extern "C" { +#include "../lua51/lua.h" +#include "../lua51/lualib.h" +#include "../lua51/lauxlib.h" +} + +#include <windows.h> +#include <time.h> +#include <conio.h> + +luaL_reg fns[] = { + {0, 0} +}; + +void openlibs(lua_State* L) +{ + luaL_openlibs(L); + //luaL_register(L, NULL, fns); + luaL_reg* fn; + int i = 0; + for (fn = &fns[0]; fn->name != 0; fn = &fns[++i]) + { + lua_pushcfunction(L, fn->func); + lua_setglobal(L, fn->name); + } +} + +int main(int args, char* argv[]) +{ + lua_State* L = luaL_newstate(); + openlibs(L); + + luaL_dofile(L, "02-enum/enum.lua"); + + lua_close(L); + return 0; +} + +#endif
\ No newline at end of file diff --git a/src/03-coroutine_pool/main.cpp b/src/03-coroutine_pool/main.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/03-coroutine_pool/main.cpp diff --git a/src/03-coroutine_pool/test.lua b/src/03-coroutine_pool/test.lua new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/03-coroutine_pool/test.lua diff --git a/src/04-thread/main.cpp b/src/04-thread/main.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/04-thread/main.cpp diff --git a/src/04-thread/test.lua b/src/04-thread/test.lua new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/04-thread/test.lua diff --git a/src/configure.h b/src/configure.h new file mode 100644 index 0000000..bc107e1 --- /dev/null +++ b/src/configure.h @@ -0,0 +1,38 @@ +#ifndef _CONFIGURE_H_ +#define _CONFIGURE_H_ + +#define TEST_1 1 +#define TEST_2 2 +#define TEST_3 3 +#define TEST_4 4 +#define TEST_5 5 +#define TEST_6 6 +#define TEST_7 7 +#define TEST_8 8 +#define TEST_9 9 +#define TEST_10 10 + + +#define BUILD_TEST TEST_1 + +//----------------------------------------------------------------------------------------------------- + +extern "C" { +#include "lua51/lua.h" +#include "lua51/lualib.h" +#include "lua51/lauxlib.h" +} + +inline void luax_registerglobal(lua_State* L, luaL_reg *fns) +{ + luaL_reg* fn; + int i = 0; + for (fn = &fns[0]; fn->name != 0; fn = &fns[++i]) + { + lua_pushcfunction(L, fn->func); + lua_setglobal(L, fn->name); + } +} + + +#endif
\ No newline at end of file |
