zoukankan      html  css  js  c++  java
  • lua-源码编译lualib、luac.exe、lua.exe和源码调试

    1 编译lualib、luac.exe、lua.exe

    1.1 lualib.dll生成

    1将 lua 源代码文件拷贝进工程, 并加入工程 (添加头文件(.h)与源码(.c)除了 lua.c 以及 luac.c 两个文件)

    2 改为C编译

    3 编译警告去掉

    4 不适用预编译头

    5 使用Release模式生成(可选)

    1.2 生成lua解释器 lua.exe 、编译器luac.exe

    1 新建 Console App 工程
    2 操作同上
    3 main函数只保留想要的比如lua.c的 (编译lua.exe的时候)

    2 C++源码执行与lua交互(可断点调试)

    *注意重新开始,不要按照上面(一)的步骤

    0 下载Lua源码 地址

    1 VS创建C++控制台应用项目 LuaSource

    2 src的全部代码文件复制到LuaSource目录,添加头文件和源文件

    3 注释lua.c luac.c里头的main方法

    4 项目属性->配置属性->C/C+±

    1)预处理器:添加_CRT_SECURE_NO_WARNINGS
    2)常规:添加源码src路径。(注意填你的)如:“F:workLua_AllLuaSourceCode514LuaSourceCode514src”
    image.png

    image.png

    5 新建helloworld.lua到LuaSource目录

    print("Hello world!")
    

    6 include头文件,main函数编写,如下:

    #include <stdio.h>
    extern "C"{
    	#include <lua.h>
    	#include <lualib.h>
    	#include <lauxlib.h>
    }
    
    int main(int ar)
    {
    	printf("test
    ");
    	lua_State* L = lua_open();
    	luaL_openlibs(L);
    	luaL_dofile(L, "helloworld.lua");
    	return 0;
    }
    

    7 进行运行调试,分析源码的调用栈

    image.png

  • 相关阅读:
    数据库基本设计
    servlet 高级知识之Listener
    servlet 高级知识之Filter
    servlet-生命周期
    http协议概述
    javase高级技术
    javase高级技术
    IO之4种字节流拷贝文件方式对比
    Map 概述
    图解 数组,链表,2种数据结构
  • 原文地址:https://www.cnblogs.com/Jaysonhome/p/13366616.html
Copyright © 2011-2022 走看看