C++ 在C++;

C++ 在C++;,c++,matlab,mex,C++,Matlab,Mex,我有一个Matlab mex文件和已知的接口,这个mex文件是由其他人提供的,所以我无法访问代码。在C++中调用MEX函数有没有有效的方法?谢谢 来自Matlab的mexext调用告诉您系统允许的兼容性。(32位或64位) < L> > PX编译的可执行文件不能从C++环境调用。它们使用Matlab命令窗口/Matlab函数 例: 系统(“mymex”)将给我以下错误: 系统(“ttt.mexw32”) 此外,我自己也怀疑在一个系统上编译的.mexw32/.mexw64可能在另一个系统上工作,就

我有一个Matlab mex文件和已知的接口,这个mex文件是由其他人提供的,所以我无法访问代码。在C++中调用MEX函数有没有有效的方法?谢谢

  • 来自Matlab的mexext调用告诉您系统允许的兼容性。(32位或64位)

  • < L> > PX编译的可执行文件不能从C++环境调用。它们使用Matlab命令窗口/Matlab函数

    例:

    系统(“mymex”)将给我以下错误:

    系统(“ttt.mexw32”)

    此外,我自己也怀疑在一个系统上编译的.mexw32/.mexw64可能在另一个系统上工作,就像在.exe(可执行文件)上一样。原因可能是Matlab版本不兼容等(对此不太了解,请检查一次)

    您可以轻松地使用他们的mex可执行文件和Matlab。您考虑过使用吗?

    你可以把MEX文件当作标准的Matlab函数,用C++来调用它,使用<代码> McExcel Matlab 。

    < px文件只是动态库。您可以使用
    LoadLibrary
    加载它们,并使用
    GetProcAddress
    调用它们的函数。(或在*nix、
    dlopen
    dlsym
    上等效打开)


    将参数设置为与MatLab传递的内容兼容将有点困难,但不是特别困难。如果你自己有编写MEX函数的经验,那么你会熟悉调用约定。

    是否需要安装MATLAB来使用这个特性,并调用C++的MEX?
    'mymex' is not recognized as an internal or external command,
    operable program or batch file.
    
    will popup a window asking me to select a program to open that file with.