matlab - 如何使用MATLAB提供的BLAS库?

标签 matlab blas

我注意到 MATLAB 提供了 BLAS 和 LAPACK header 等:

$ ls ${MATLAB_DIR}/extern/include/
blas.h            engine.h    lapack.h           mat.h            mclmcr.h      mex.h           mwutil.h
blascompat32.h    fintrf.h    libmatlbm.mlib     matrix.h         mclmcrrt.h    mwdebug.h       tmwtypes.h
emlrt.h           io64.h      libmatlbmx.mlib    mclcppclass.h    mcr.h         mwservices.h

我想将它们用于我的编译代码,因此我尝试编译以下内容:

ex_blas.c

#include <blas.h>

int main()
{
    return 0;
}

使用以下命令:

$ mex ex_blas.c

但这会返回一个错误:

In file included from ex_blas.c:1:
/Applications/MATLAB_R2009b.app/extern/include/blas.h:51: error: syntax error before ‘*’ token
/Applications/MATLAB_R2009b.app/extern/include/blas.h:62: error: syntax error before ‘*’ token
/Applications/MATLAB_R2009b.app/extern/include/blas.h:77: error: syntax error before ‘*’ token
/Applications/MATLAB_R2009b.app/extern/include/blas.h:92: error: syntax error before ‘*’ token
/Applications/MATLAB_R2009b.app/extern/include/blas.h:103: error: syntax error before ‘ptrdiff_t’
/Applications/MATLAB_R2009b.app/extern/include/blas.h:122: error: syntax error before ‘ptrdiff_t’

MATLAB 提供的 blas.h 是否可由 MATLAB 之外的第 3 方应用程序使用?如果是,是什么导致了上述错误?

最佳答案

我不确定它是否能完全解决您的问题,但您可能还需要包含stddef.h因为这是定义 ptrdiff_t 类型的地方。

关于matlab - 如何使用MATLAB提供的BLAS库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1735985/

相关文章:

matlab - 颤音函数matlab中的wavread错误

arrays - 具有 max(abs(x),abs(y)) 的元素 x(i) 或 y(i) 的 MATLAB 向量

c - 快速创建随机数组

c - 从列专业转移到行专业

java - 在没有 for 循环的 Java 中乘法数组

matlab - 了解 RAW 图像文件

c++ - undefined reference : Cblas not linking

octave - 如何修复在 Ubuntu 中使用 Intel MKL 产生错误结果的 Octave?

c++ - 有什么方法可以在 matlab 中完成 i++ 吗?

numpy - 将 Cython 包装的 C 函数与来自 NumPy 的 BLAS 链接起来