未定义的函数或变量'stdout'

时间:2016-03-04 15:21:07

标签: matlab

我正在尝试编译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);

的问题

1 个答案:

答案 0 :(得分:1)

fflush(stdout)在Octave中有效,但不是 MATLAB。

如果需要刷新输出,可以drawnow在MATLAB中实现相同的效果。

drawnow('update')

update参数确保只刷新非图形队列。

在较新版本的MATLAB中,以下是首选,但要么应该有效。

drawnow('limitrate')

话虽如此,我还不确定您是否需要它来发布您发布的代码。