mex编译代码语句中如何使用变量?

How to use a variable in the mex compiling code sentence?

我正在将我的 c++ 文件编译成 mex 文件。我将对 mex 文件进行一些后续操作,例如 copyfilemovefile。所以我想使用 c++ 名称的变量。 例如,我有一个文件test.cpp。 然后我在matlab命令中输入下面的代码,

mex test.cpp

我想要这个:

filename = 'test';
mex [filename '.cpp'];

但是没有用。我可以用其他方式做到吗?

MATLAB 语法

mex test.cpp

相同
mex('test.cpp')

所有 函数都是如此。解释器将第一种语法转换为第二种语法,而与调用的函数无关。

因此,您可以这样做:

filename = 'test.cpp';
mex(filename);

filename = 'test';
mex([filename,'.cpp']);

更一般地说:

mex -v -R2018a COMPFLAGS="$COMPFLAGS /fp:fast /arch:AVX2 /MT /Oi /GL" MyMatrixFunction.c;

应该变成:

filename = 'MyMatrixFunction.c';
mex('-v', '-R2018a', 'COMPFLAGS="$COMPFLAGS /fp:fast /arch:AVX2 /MT /Oi /GL"', filename);

因此每个 space 被替换为 , 并且每个单词以 ' ' 结束。