mex编译代码语句中如何使用变量?
How to use a variable in the mex compiling code sentence?
我正在将我的 c++ 文件编译成 mex 文件。我将对 mex 文件进行一些后续操作,例如 copyfile
或 movefile
。所以我想使用 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 被替换为 ,
并且每个单词以 ' '
结束。
我正在将我的 c++ 文件编译成 mex 文件。我将对 mex 文件进行一些后续操作,例如 copyfile
或 movefile
。所以我想使用 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 被替换为 ,
并且每个单词以 ' '
结束。