某些 lua/c++ 代码中出现 SIGSEGV 错误

2023-12-20

以下代码以 SIGSEGV 错误结束:

extern "C" {
    #include "lua/lua.h"
    #include "lua/lualib.h"
    #include "lua/lauxlib.h"
}

int main( int argc, char *argv[] )
{
    lua_State *L;
    luaL_openlibs(L);
    lua_close(L);
    return 0;
}

Gdb 给了我以下内容:

(gdb) run
Starting program: d:\Dropbox\cpp\engine\bin\main.exe
[New Thread 7008.0x1df8]

Program received signal SIGSEGV, Segmentation fault.
0x6d781f30 in lua_pushcclosure () from d:\Dropbox\cpp\engine\bin\lua52.dll
(gdb) where
#0  0x6d781f30 in lua_pushcclosure () from d:\Dropbox\cpp\engine\bin\lua52.dll
#1  0x6d79329e in luaL_requiref () from d:\Dropbox\cpp\engine\bin\lua52.dll
#2  0x6d79bdee in luaL_openlibs () from d:\Dropbox\cpp\engine\bin\lua52.dll
#3  0x004013a6 in main (argc=1, argv=0x702fc8) at main.cpp:10
(gdb)

在打开库之前,您必须创建一个新的 lua 状态(luaL_openlibs(L);), 像这样:

L = luaL_newstate();

您会遇到分段错误,因为您有一个未初始化的指针,取消引用它(这就是库所做的)是未定义的行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

某些 lua/c++ 代码中出现 SIGSEGV 错误 的相关文章

  • 使用sqlbulkcopy之前如何创建表

    我有一个 DBF 文件 我正在尝试导入该文件 然后将其写入 SQL 表 我遇到的问题是 如果我使用 SqlBulkCopy 它需要我提前创建表 但在我的场景中这是不可能的 因为 dbf 文件不断变化 到目前为止 这是我的代码 public
  • 显示 div 内的用户名列表

    我是 jQuery 新手 在我的项目中 我创建了一个类User其中代码如下所示 static ConcurrentDictionary
  • C++ 中的“int”默认是“signed long int”吗?

    Is int默认情况下signed long int in C 它是否依赖于平台和 或编译器 如果是这样 怎么办 EDIT 以下任何一项是否保证是重复的 signed short int signed int signed long int
  • 静态 OpenCV 库中未定义的引用

    我有一个使用 OpenCV 3 1 的 C 项目 并且使用共享库可以正常工作 但现在我想使用静态库 位于项目目录中的文件夹中 来编译它 因为我希望能够在未安装 OpenCV 的情况下导出它 如果需要还可以编辑和重新编译 这次我重新编译了 O
  • 如何在 ASP.NET Core 6.0 Web API 项目中启用 cors?

    在我的 ASP NET Core 6 0 Web API 项目中配置了 CORS 但预检请求收到 http 405 错误 换句话说 不允许使用 HTTP OPTION 看起来 cors 没有启用 我见过的例子config EnableCor
  • AcceptSocket 超时?

    是否有可能AcceptSocket on a TcpListener具有超时的对象 以便它偶尔被中断 TcpListener server new TcpListener localIP port server Start while sh
  • 从 Golang 调用 C 函数

    我想在 Golang 中编写控制器逻辑并处理 json 和数据库 同时在 C 中使用我的数学处理模型 在我看来 调用 C 函数的开销必须尽可能低 就像设置寄存器 rcx rdx rsi rdi 一样 执行一些操作fastcall 并获取 r
  • 主构造函数不再在 VS2015 中编译

    直到今天 我可以使用主构造函数 例如 public class Test string text private string mText text 为了能够做到这一点 在以前的 Visual Studio CTP 中 我必须将其添加到 c
  • 何时分离或加入 boost 线程?

    我有一个方法 大约每 30 秒触发一次 我需要在一个线程中包含它 我有一个可以从类外调用的方法 像 call Threaded Method 这样的东西会创建一个线程 该线程本身会调用最终的线程方法 这些是 MyClass 的方法 void
  • 如何解决文件被另一个进程使用的问题?

    我一直在 VS NET 2010 中调试 没有任何问题 但现在无法建造 我收到错误 Unable to copy file filename to bin Debug filename The process cannot access t
  • 禁用实体框架的默认值生成(Code First)

    我数据库中有一个列不能为空 我想将其设置为默认值在数据库中 问题是实体框架似乎自己创建了一个默认值 例如 int gt 0 并且完全忽略了数据库中的默认值约束 有没有办法禁用实体框架的默认值 我发现您可以使用以下属性来装饰您的字段 Data
  • List 或其他类型上的 string.Join

    我想将整数数组或列表转换为逗号分隔的字符串 如下所示 string myFunction List
  • 使用联合对 IP 地址进行多种解释?

    在工作中 我们使用以下构造来将 IP 地址解释为 4 字节数组或 32 位整数 union IPv4 std uint32 t ip std uint8 t data 4 这很好用 但是读完这本书的第 97 章 不要使用联合来重新解释表示
  • Code::Blocks 中的调试似乎不起作用 - 缺少调试符号

    我正在尝试在 Code Blocks 中调试程序 我跟着本指南 http wiki codeblocks org index php title Debugging with Code Blocks and 这个短视频 http www y
  • 如何使 WinForms UserControl 填充其容器的大小

    我正在尝试创建一个多布局主屏幕应用程序 我在顶部有一些按钮链接到应用程序的主要部分 例如模型中每个实体的管理窗口 单击这些按钮中的任何一个都会在面板中显示关联的用户控件 面板包含用户控件 而用户控件又包含用户界面 WinForms User
  • 检查另一种形式的线程是否仍在运行

    我有一个涉及两个窗体的 Windows 窗体应用程序 子表单用于将数据导出到 CSV 文件 并使用后台工作者写入文件 当这种情况发生时 我隐藏了表格 当后台工作程序运行时 父窗体仍然处于活动状态 因此即使后台工作程序正在写入文件 用户也可以
  • 在两个点之间创建一条曲线,每个点都具有标准化向量

    因此 我需要一种写入方法来在两点之间创建一条曲线 每个点都有一个指向任意方向的归一化向量 我一直在尝试设计这样一种方法 但一直无法理解数学 在这里 由于一张图片胜过一千个文字 这就是我所需要的 在图中 矢量垂直于红线 我相信向量需要进行相同
  • boost::spirit::qi::语法和可变参数模板

    我在使用可变参数模板定义语法时面临一个问题 我首先定义一些包含在某些结构中的简单语法 例如纬度 经度 如下所示 include
  • 如何创建实体集或模型而不在数据库中创建相应的表 - 实体框架

    我的 sqlserver 数据库中有一个存储过程 它返回多个结果集 我正在使用 msdn 中的以下链接从实体框架中的 SP 读取多个结果集 https msdn microsoft com en us library jj691402 v
  • execlp() 系统调用输出错误

    这个非常简单的例子exec 系统调用 在这里 我试图打电话execlp 两次 但是 我没有得到例外的输出 它仅显示当前目录的第一次调用的输出 include

随机推荐

  • GAE 上的 REST,使用什么实现?(RESTlet、jersey、其他......)

    有人在 GAE 上使用 REST 的经验吗 也许您可以为此建议一些轻量级 REST 实现 我发现RESTlet说他们有GAE优化的实现 RESTlet GAE http blog noelios com 2009 04 11 restlet
  • 如何在Linux上读取RTS/CTS引脚的值?

    我想知道我的 Linux 机器上串行端口上的 RTS CTS 引脚的状态 另外 由于我使用的是 dev ttyUSB0 相同的机制会起作用吗 问候 阿卡什 通常建议使用termios http linux die net man 3 ter
  • 如何在 R 中绘制具有复数的函数?

    我想在 R 中绘制以下函数 f w 1 1 5 e iw 其中 i 是 1 的平方根 R 可以在绘图中处理复数吗 这应该可以帮助您入门 主要是通过演示 R 用于表示复数和指数函数的符号 f lt function x 1 1 5 exp 0
  • 这个运算符在 django `reduce(operator.and_, query_list)` 中意味着什么

    我正在读这个问题 使用 args 和 kwargs 动态构建 Django 过滤器查询 https stackoverflow com questions 8510057 constructing django filter queries
  • ElasticSearch 的环回连接器

    npm 上至少有两个不同的包可用 环回连接器弹性搜索 https www npmjs com package loopback connector elastic search and 环回连接器 es https www npmjs co
  • 将图像旋转 3*Double.pi/2 使图像不出现(swift3)

    尝试将图像方向旋转 270 度 我可以旋转 90 度并且图像出现 但是当将图像旋转 270 度时什么也没有发生 我添加了两张 90 度和 270 度命令的图片 以使事情更加清晰 extension CIImage var image UII
  • 将兄弟姐妹分组到一个 div 中

    我在一家公司工作 该公司使用编码非常奇怪的电子商务解决方案 我无法直接访问电子商务商店的代码 因为它是由该特定公司托管的 我会废除整个系统 但客户相当依恋它 这就是他们想要的 这是我必须处理的内容 tbody tr td class Pro
  • firebase 和 swift - 此类不符合键值编码 -----

    我知道还有其他类似的问题 但我认为我的问题是如何访问 firebase 而不是插座 因为我的错误位于 IBAction 函数中 该函数可以在错误发生之前调用 IBAction func sign in out tapped sender U
  • 使用 DSC Resource 配置 HKEY_CURRENT_USER 实际上会更新 HKEY_USERS\.DEFAULT

    以下 DSC 声明写入注册表项 HKEY USERS DEFAULT Console 而不是 HKEY CURRENT USER Console 为什么 Registry ConsoleFaceName Key HKEY CURRENT U
  • 从字符串向量中提取第 n 个字符[重复]

    这个问题在这里已经有答案了 我有一个行向量 如下所示 1 118 o m n a jpg 2 122 m f h a jpg 3 152 y f n a jpg 4 160 y m h a jpg 5 083 o m a a jpg 例如
  • Asp.Net SQL刷新页面重复插入?

    我有一个 aspx 页面 其中包含一个文本框和一个按钮 当用户在文本框中输入信息并单击 发布 时 它会将数据插入到我的 sql 数据库中 问题是 如果用户点击刷新 它将继续将相同的数据插入数据库 我很确定调用了整个 单击 方法 而不仅仅是插
  • 将多个字符串传递给 SharedPreferences

    我想存储三个字符串作为我的应用程序的用户首选项 我已经设置了一个很好的布局 只需将字符串保存到 SharedPreferences 即可 我还想知道如何在下一个活动中检索这些字符串 下面是我当前的代码 如果有人可以向我展示如何将此功能添加到
  • Java Web Start应用程序可以从本地系统读取文件,但不能写入[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 请询问您是否需要更多信息 我有安全和所有权限标签 在我的 jnlp 中 当我离线运行我的 java 应用程序时 它可以正常工作 F
  • AWS API Gateway 和 Lambda 的公共 IP 地址(无 VPC)

    我已经配置了一个 AWS API Gateway 并创建了一个 Lambda 函数来连接到外部 REST API API网关和Lambda不在VPC中 因此出口IP地址是随机的 我面临的挑战是外部 REST API 位于防火墙后面 这需要将
  • 如何在 GDScript 中实现结构?

    GDScript 中是否有相当于 C 结构 类的东西 例如 struct Player string Name int Level 戈多3 1 1gdscript不支持structs 但使用可以实现类似的结果classes dict or
  • Windows 7 64 / Visual Studio 2008 / OpenCV2.1错误:“应用程序无法正确启动(0xhex)..”

    我正在 64 位模式下从分支顶部构建 OpenCV2 1 当我将库链接到我的代码 在 XP 上以 32 位模式工作 时 我收到对话框 应用程序无法正确启动 0xc0150002 单击 确定 关闭应用程序 当我启动应用程序时 事件查看器指向
  • 将一个时间范围按其他时间范围分割成多个部分

    我有一项复杂的任务 几天来我一直在用头撞墙 我已经尝试了大约 4 种不同的方法 但是每种方法似乎都停滞不前 并且变得非常令人沮丧 我有一个时间范围 例如 14 30 00 至 18 30 00 考虑某人轮班的时间范围 在此时间范围内 他们表
  • jasmine 与 jscoverage 自动化测试

    一直在看 jsunit 和 jcoverage 演示 单击覆盖率报告链接 在新选项卡中打开此内容 我想知道是否有人对 Jasmine 和 JSCoverage 做过类似的事情 我有点不确定如何继续 编辑 我想知道有什么可以和茉莉花记者一起做
  • fopen b 标志是什么

    在阅读中php fopen 的文档 http php net manual en function fopen php对于 php 我看到以下内容 为了可移植性 强烈建议您在使用以下命令打开文件时始终使用 b 标志fopen http ph
  • 某些 lua/c++ 代码中出现 SIGSEGV 错误

    以下代码以 SIGSEGV 错误结束 extern C include lua lua h include lua lualib h include lua lauxlib h int main int argc char argv lua