声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1306|回复: 0

[混合编程] 请教:mex my_mex.c 时出错

[复制链接]
发表于 2008-6-20 11:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
my_mex.c程序如下:(用于矩阵乘法)

/*File name:mex my_mex*/
#include "matrix.h"
void mat_ply(double *A,double *B,double *C,int m1,int n1,int m2,int n2)
{
  int i,j,k,m=0;
   for (i=0;i<m1;i++)
   {
     for (j=0;j<n2;j++)
     {
        C[j*m1+i]=0;
        for (k=0;k<m2;k++)
        {
           C[j*m1+i]=A[k*m1+i]*B[j*m2+k];
         }
      }
    }
}
/*Interface to Matlab*/
void mexFun(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
{
  double *Ap,*Bp,*Cp;
  int m1,n1,m2,n2;
  Ap=mxGetPr(prhs[0]); Bp=mxGetPr(prhs[1]);
  m1=mxGetM(prhs[0]);  n1=mxGetN(prhs[0]);
  m2=mxGetM(prhs[1]);  n2=mxGetN(prhs[1]);
  prhs[0]=mxCreateDoubleMatrix(m1,n2,mxREAL);
  Cp=mxGetPr(plhs[0]);
  void mat_ply(Ap,Bp,Cp,m1,n1,m2,n2);
}

编译时,出错如下:

Error my_mex.c: 31  illegal statement termination
Error my_mex.c: 31  skipping `void'
2 errors, 0 warnings

  D:\PROGRAM FILES\MATLAB71\BIN\MEX.PL: Error: Compile of 'my_mex.c' failed.

??? Error using ==> mex
Unable to complete successfully

不知是何缘故,我用的LCC C version2.4 作编译器。
请高手指教,谢谢!
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-2 19:25 , Processed in 0.067337 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表