我正在尝试编译MATLAB的代码。实际上是在C中,有一个implementation in matlab。因此我使用MinGW64 Compiler (C)
编译器来编译文件。我正在运行编译器脚本,它实际上使用cmd编译所有c文件。我的问题是使用fflush(stdout);
行。当我尝试运行该命令时,我收到以下消息:
Undefined function or variable 'stdout'.
我想知道为什么我会收到这个错误,以及是什么。 代码如下:
disp('Compiling for Matlab...');
gcc = 'mex';
cd mex;
% =============
% Learning code
disp('Learning:');
files = {'qp_one_sparse.cc', 'score.cc', 'lincomb.cc'};
matlabflags = '-O -largeArrayDims';
for n = 1:length(files)
cmd = [gcc ' ' matlabflags ' ' files{n}];
disp([' ' cmd]);
fflush(stdout);
eval(cmd);
end
我遇到了fflush(stdout);
行
答案 0 :(得分:1)
fflush(stdout)
在Octave中有效,但不是 MATLAB。
如果需要刷新输出,可以drawnow
在MATLAB中实现相同的效果。
drawnow('update')
update
参数确保只刷新非图形队列。
在较新版本的MATLAB中,以下是首选,但要么应该有效。
drawnow('limitrate')
话虽如此,我还不确定您是否需要它来发布您发布的代码。