把luasocket集成到c++中

建一个项目pro_test,创建一个运行目录test;

把luasocket/src文件夹中的*.lua拷贝到test/src文件夹中;

把socket.dll,mime.dll,lua5.1.dll拷贝到test文件夹中;

把socket.lua改为socket_wrap.lua,因为socket.lua和socket.dll重名了;

main.cpp:

#include <stdio.h>

extern "C" 
{
    #include "luasocket.h"
    #include "lua.h"
    #include "lualib.h"
    #include "lauxlib.h"
    #include "luaconf.h"
};

int main(int narg, char* args[])
{
    lua_State* L = luaL_newstate();
    luaopen_base(L);
    luaL_openlibs(L);

    luaopen_socket_core(L);

    int ret = luaL_dofile(L, args[1]);
    if(ret != 0)
    {
        printf("%s", lua_tostring(L, -1));
    }
    return 0;
}

main.lua:

package.path = 'D:/xxx/test/src/?.lua;'
require("socket_wrap")local socket = require("socket")local server = assert(socket.bind("*", 0))local ip, port = server:getsockname()print("server open on port " .. port)local client = server:accept();

原文链接: https://www.cnblogs.com/afan/p/6290433.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/247843

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 上午2:30
下一篇 2023年2月14日 上午2:31

相关推荐