打印

写一个矩阵乘法子程序时,出现如下错误

[复制链接]
950|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hitbuyi1|  楼主 | 2014-12-5 21:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MatrixMUL(float* A, int A_Row,int A_Col, float* B,int B_Row, int B_Col, float *Result)
{

  int i,j,k;
  float sum;

  if(A_Col == B_Row)   // dimensions of matrixes must be accordance with each other
  {
      for( i = 0; i < A_Row; i++) // compute the first row of results
      {
           for(j = 0; j < B_Col; j++)
           {
                sum = 0.0f;
                for(k = 0; k < A_Col; k++)
                {
                    sum +=   (*(A + i*A_Col + k))*( *(B + k*B_Col + j));
                    //sum = sum + temp;
                }

               *(Result + i*B_Col + j) = sum;

           }
      }

  }

}

在一个工程里运行,出现如下错误,

"C:\Users\User\AppData\Local\Temp\0912810", ERROR!   at line 754: [E0004] Illegal operand combination
            MACF32    R7H,R3H,*XAR0++,*XAR7 ; [CPU_] |146|


1 Assembly Error, No Assembly Warnings
Errors in Source - Assembler Aborted

是什么原因?

相关帖子

沙发
gwabwy| | 2014-12-6 14:49 | 只看该作者
sum +=   ((*(A + i*A_Col + k))*( *(B + k*B_Col + j)));    ???

使用特权

评论回复
板凳
hitbuyi1|  楼主 | 2014-12-6 17:01 | 只看该作者
problem solved

使用特权

评论回复
地板
zhangmangui| | 2014-12-6 20:58 | 只看该作者
hitbuyi1 发表于 2014-12-6 17:01
problem solved

求分享  

使用特权

评论回复
5
hitbuyi1|  楼主 | 2014-12-7 19:15 | 只看该作者
zhangmangui 发表于 2014-12-6 20:58
求分享

这样写是对的。在DSP运行出错,是TI 的 编译器对下面的语句
sum +=   ((*(A + i*A_Col + k))*( *(B + k*B_Col + j)))
进行了错误的优化,把这个函数的优化级别降低或者禁止就行了。

使用特权

评论回复
6
zhangmangui| | 2014-12-7 20:15 | 只看该作者
hitbuyi1 发表于 2014-12-7 19:15
这样写是对的。在DSP运行出错,是TI 的 编译器对下面的语句
sum +=   ((*(A + i*A_Col + k))*( *(B + k* ...

感谢分享   

使用特权

评论回复
7
edishen| | 2014-12-8 17:59 | 只看该作者
hitbuyi1 发表于 2014-12-7 19:15
这样写是对的。在DSP运行出错,是TI 的 编译器对下面的语句
sum +=   ((*(A + i*A_Col + k))*( *(B + k* ...

谢谢楼主

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

78

帖子

0

粉丝