8得票4回答
在MATLAB mex文件中正确地重载stringbuf以替换cout

MathWorks目前不允许您在MATLAB桌面打开时从mex文件使用cout,因为他们已经重定向了stdout。他们提供了一个函数mexPrintf作为解决方法。经过一番搜索,我认为可以扩展std::stringbuf类来实现我需要的功能。以下是我目前的进展。这个代码足够健壮吗?还是需要重载...

8得票1回答
为什么在mex文件中使用OpenMP只能产生1个线程?

我是OpenMP的新手。我有以下代码,使用配置了MSVS2010的Matlab mex编译正常。计算机有8个可用处理器(我也通过使用matlabpool进行了检查)。 #include "mex.h" #include <omp.h> typedef unsigned char...

8得票1回答
如何为Matlab提供它所需的旧版gcc版本?

我的电脑上安装了Ubuntu 10.10和gcc 4.4.4。我尝试编译一些使用CUDA的mex文件,但出现以下错误消息: >> cns_build('hmax') compiling... /home/leMe/hmax/cns/source/common_dec.h(54):...

8得票1回答
MATLAB的tic-toc与C的clock函数不一致

我写了一些C代码,在使用MEX编译之后,我会从MATLAB中调用它。在C代码内部,我使用以下代码测量计算的一部分所需的时间: clock_t begin, end; double time_elapsed; begin = clock(); /* do stuff... */ end = c...

8得票2回答
找不到版本GLIBCXX_3.4.11(buildW.mexglx所需)。

我正在尝试通过Matlab这里编译一个Ubuntu C++项目。当我使用make命令进行编译后,尝试使用它时,我会遇到以下错误: Invalid MEX-file '////fashionista_v0.2/lib/+bsr/buildW.mexglx': //local/MATLAB/R...

8得票3回答
Matlab:在循环中重复调用相同的mex函数会产生太多开销吗?

我有一些Matlab代码需要加速。通过分析,我确定了一个特定函数是导致执行减慢的罪魁祸首。在循环中调用该函数数十万次。 我的第一个想法是将该函数转换为mex(使用Matlab Coder),以加速它。但是,常识告诉我,在Matlab和mex代码之间的接口会带来一些开销,这意味着调用此mex函...

8得票1回答
如何让MatLab找到Visual C++编译器?

Preamble: 在撰写本文时,我发现了一个解决方案,这个问题非常麻烦,解决方案也非常复杂。因此,我觉得有必要在这里留下这个解决方案,以帮助任何遇到这个问题的可怜人。 我是MatLab的新手,而且我通常也不使用Visual C++,所以如果这个问题显而易见,请原谅我。 简短版:我已经...

7得票3回答
如何防止Matlab在CUDA功能的(wrong) mex文件执行时崩溃

我目前正在开发一个带有CUDA功能的mex文件,用于在MATLAB中使用。当我做错了什么(例如错误的指针或类似的问题),MATLAB总是会崩溃(Windows提示我结束、发送报告给MathWorks或尝试继续)。有没有办法防止这种情况发生?这真的很烦人,但正如你自己可能知道的那样:几乎没有人可...

7得票4回答
明确定义指针的值

我正在编写一个 mex 文件(使用 C++),它将接受一个内存地址作为输入,并对该内存地址上的数据进行操作。由于我被迫使用 MATLAB 作为我的环境,因此我的程序只能接受 MATLAB 数据类型作为输入(char、bool、float、double 和 int)。我该如何将我的输入值分配给指...

7得票2回答
Mex函数在重新编译后未更新。

我有一个简单的Mex函数,它调用了一个库中的另一个C++函数。我使用以下命令编译源代码: mex -cxx mymexfunction.cpp -I/some/include -L/some/lib -lmylib mylib库是一个动态库(.so),它本身链接了一些其他库(boost、...