如何使用用户预定义的数据设置mwArray? Matlab库编译器和mex运行时可以混合使用吗?

时间:2018-10-17 06:43:45

标签: matlab-deployment matlab-compiler

我开始使用Matlab生产库:Matlab Coder和Matlab库Compiler。我有几个问题

  1. mxArray和mwArray有什么区别? (下面的答案)

  2. 是否可以使用用户预定义的数据设置mxArray? (下面的答案)

3。可以使用用户预定义的数据设置mwArray吗?

4。是否可以从mex文件运行Matlab库编译器DLL?

我使用结合了matlab库编译器dll和matlab编码器

    coder.ceval(...)

第一个呼叫

    mlcInitializeApplication(..)

    MY_MATLAB_LIBRARY_NAME_Initialize(..)

返回false,任何mwArray构造函数都会引发异常

混合mex和mlc运行时库是否有问题?

** btw-当我将mex代码编译为C ++时,一切正常。

1 个答案:

答案 0 :(得分:0)

  1. mxArray和mwArray有什么区别?

(来自Matlab)mwArray是一个类(C ++概念),用于将输入和输出传递给Matlab编译器SDK生成的C ++函数 此类由围绕MATLAB®数组的薄包装组成。 MATLAB中的所有数据均由数组表示。 mwArray类提供了用于数组创建和初始化以及简单索引的必要构造函数,方法和运算符

mxArray是C类型,具有不透明类型。它可以保存数组或矩阵,主要作为C mex文件的输入/输出。

**我猜想mx倡议适用于mex,mw倡议适用于matlab包装器,但是我不确定。

  1. 是否可以使用用户预定义的数据设置mxArray-是

Here is an example

    mxArray *output[];
    output[0] = mxCreateNumericArray(ndim, dim, mxDOUBLE_CLASS, mxREAL);
    outData = mxGetPr(yourPtr);

3。是否可以使用用户预定义的数据设置mwArray?我不知道

  1. 是否可以从mex文件运行Matlab库编译器DLL? 来自Matlab工程师:不可能混合使用mlc和mex运行时。