中间的变量不是调用函数中的值

[复制链接]
1095|22
 楼主| shimx 发表于 2016-5-19 21:10 | 显示全部楼层 |阅读模式
为什么CCS中,函数调用时,其中间的变量不是调用函数中的值
spark周 发表于 2016-5-19 21:12 | 显示全部楼层
啥意思啊
zhaoxqi 发表于 2016-5-19 21:13 | 显示全部楼层
比如说:
static void Compute_c(float theta1,float theta2,float SNR,int M,float G_capon[360]);
在主函数中调用形式:
Compute_c(m_theta1,m_theta2,m_SNR,SENSOR,G_capon);

头文件中定义变量:
#define SENSOR 8
#define m_theta1 -20.0
#define m_theta2 20.0
#define m_SNR 10

其中,G_capon为返回值;

使用断点进入函数Compute_c()查看中间变量值的变化,但是theta1,theta2,SNR,M都不一样。请问这是什么原因?
wyjie 发表于 2016-5-19 21:15 | 显示全部楼层
别人的函数呢
 楼主| shimx 发表于 2016-5-19 21:16 | 显示全部楼层
我看了别人的函数也存在这个问题,有点不懂?
heweibig 发表于 2016-5-19 21:18 | 显示全部楼层
不应该吧   形参与实参   仿真的时候参看值的时候你要时时刷新
 楼主| shimx 发表于 2016-5-19 21:26 | 显示全部楼层
我都刷新了的,我也完全没有搞懂是怎么回事?茫然!
huangchui 发表于 2016-5-19 21:27 | 显示全部楼层
如果你觉得程序没有问题的话  可以将程序放到vc或别的编译器下试试
 楼主| shimx 发表于 2016-5-19 21:30 | 显示全部楼层
在VC上面什么结果都是正确的哈
jlyuan 发表于 2016-5-19 21:32 | 显示全部楼层
理应该没啥问题的啊   那你别打断点了  直接让它运行  看最终的结果是否合适
dengdc 发表于 2016-5-19 21:33 | 显示全部楼层
输出结果正确就行了呗。
houcs 发表于 2016-5-19 21:35 | 显示全部楼层
是看到的二进制的方式吗?
 楼主| shimx 发表于 2016-5-19 21:36 | 显示全部楼层
结果也是错的哈!
 楼主| shimx 发表于 2016-5-19 21:37 | 显示全部楼层
不是哈,是十进制的
 楼主| shimx 发表于 2016-5-19 21:40 | 显示全部楼层
结果也是错的哈,但是VC里面是正确的
spark周 发表于 2016-5-19 21:42 | 显示全部楼层
去掉优化选项重新编译再单步调试试一下。
huangchui 发表于 2016-5-19 21:43 | 显示全部楼层
有时候代码优化之后与C不严格对应。
 楼主| shimx 发表于 2016-5-19 21:46 | 显示全部楼层
优化选项都没有选
jlyuan 发表于 2016-5-19 21:47 | 显示全部楼层
你按int来试试,看看结果呢?
 楼主| shimx 发表于 2016-5-19 21:48 | 显示全部楼层
你的意思是把数据类型改为int吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

857

主题

10661

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部