| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3107 人关注过本帖
标题:Windows 64环境,lua调用C接口,程序crash
取消只看楼主 加入收藏
K_ael
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-1-16
收藏
 问题点数:0 回复次数:0 
Windows 64环境,lua调用C接口,程序crash
lua版本:
Lua 5.3.4  Copyright (C) 1994-2017 , PUC-Rio

C代码:
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"

#pragma comment(lib, "liblua53.a")

int foo(lua_State* L)
{
    printf("hello foo\n");
    return 0;
}

static const struct luaL_Reg funcs[] ={
    {"foo", foo},
    {NULL, NULL}
};

__declspec(dllexport) int luaopen_LuaFoo(lua_State* L)
{
    luaL_newlib(L, funcs);

    return 1;
}

Lua代码:
require("LuaFoo")

Crash堆栈:
     0000000300905a4d()   
>    LuaFoo.dll!luaopen_LuaFoo(lua_State * L=0x00000000003eec00)  行20 + 0x16 字节    C
     lua53.dll!0000000070406bd0()     
     [下面的框架可能不正确和/或缺失,没有为 lua53.dll 加载符号]   

说明:
require("LuaFoo")会调用luaopen_LuaFoo
只要访问lua_State 就crash

linux环境能正常运行

[此贴子已经被作者于2018-10-27 17:31编辑过]

搜索更多相关主题的帖子: Windows 环境 调用 接口 include 
2018-10-27 17:29
快速回复:Windows 64环境,lua调用C接口,程序crash
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041330 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved