下面的链接是我在Mathwork中提出的原始问题(附更多细节和源代码):https://www.mathworks.com/matlabcentral/answers/364507-segmentation-fault-when-access-the-pointer-generated-by-mxmalloc-written-in-c-only-in-ubuntu-works
我使用的是第三方代码库:BDAGL,与R2017b存在不兼容问题(作者仅在R2007a上测试)
基本上,我在这个库中使用两个函数:
- 第一个函数(mkADTree)使用mxMalloc递归创建树节点,为节点的成员赋值,并返回这些节点的指针
- 第二个函数基本上是将第一个函数返回的指针作为输入,并尝试访问节点的成员,而在导致崩溃的指针中找不到该成员
如果使用相同的代码,并且我在Windows中运行,那就完全可以了,崩溃只发生在Ubuntu(Linux)中,树节点的生成过程完全相同。
所有原始源代码都可以从原始网站下载:此处为BDAGL。
有人遇到过这个问题吗?有什么提示吗?非常感谢。
我遇到了另一个库的问题,结果发现MATLAB与X11不完全兼容,它在Ubuntu上进行核心转储。
试试-nodisplay
参数,如果不起作用,试试-nojvm
。