小编Gab*_*ndi的帖子

Matlab/C++:使用 C++ Mex 持久对象并行计算时出现分段错误(无法转换句柄)

本帖参考:

我成功地实现了一个 Matlab/C++ 接口,基于 [1] 上提出的方法。无论如何,我在尝试将系统与 Matlab 并行计算一起使用时遇到了麻烦。

在 MEX 接口中尝试在 matlab 句柄和 C++ 指针之间进行转换时,发生在我身上的是分段错误。

为了更清楚,我将回顾一下 [1] 中提出的结构。系统中有三个文件,采用这种通信方案:

[myInterface.m] <--> [myMexInterface.cpp] <--> [myClass.cpp]

在哪里

  • myInterface.m 是一个 matlab 类
  • myMexInterface.cpp 是一个 C++ (mex) 函数
  • myClass.cpp 是一个 C++ (mex) 类

该系统的使用分为两个阶段:

  • 构造:创建一个 matlab 对象 myInterface。这会导致调用 myMexInterface.mexa64,从而调用 C++ myClass 对象的创建。myClass 的 C++ 指针通过 myMexInterface.mexa64 发送回 myInterface,myInterface 将其存储以供进一步使用。特别是,myMexInterface.mexa64 将myClass 的 C++ 指针 …

c++ parallel-processing matlab mex parfor

5
推荐指数
1
解决办法
1434
查看次数

标签 统计

c++ ×1

matlab ×1

mex ×1

parallel-processing ×1

parfor ×1