为什么当我将32位的FORTRAN MEX源移植到64位的MATLAB 7.6 (R2008a)时,我得到了断言冲突?
1次观看(过去30天)
显示旧的注释
我有一个现有的FORTRAN MEX源代码,在32位MATLAB上编译和工作良好。这个源代码在64位MATLAB上编译也很好,但当我试图运行它时,它失败了。
接受的答案
MathWorks支万博1manbetx援小组
2009年6月27日
一些遗留的FORTRAN代码使用以下语法来定义MEXFUNCTION:
子例程Mexfunction (nlhs, plhs, nrhs, prhs)
整数PLHS (*), PRHS (*)
整数NLHS, NRHS
这可能在32位平台上编译和执行,但是,推荐的语法是使用如下所示的MWPOINTER(适用于任何平台)。
这对于在64位平台上成功执行MEX文件至关重要。
子例程Mexfunction (nlhs, plhs, nrhs, prhs)
MWPOINTERPLHS (*), PRHS (*)
整数NLHS, NRHS