打印

谁能帮我解释一下?

[复制链接]
1391|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ruiwei0201|  楼主 | 2008-1-14 16:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我遇到了下面的问题:
ulong address1,address2;
myFunc1(ulong,uchar xdata*,uchar);
myFunc2(void)
{
    ulong address1,address2;
    uchar xdata *bpSrc;
    uchar i;
    myFunc1(address1-address2,bpSrc,i)//这种方式参数1传进去的值不正确
    //下面的调用就可以正常运行
    address1 -= address2;
    myFunc1(address1,bpSrc,i);
}
哪位高手可以说一下为什么吗?多谢了.

相关帖子

沙发
dai_weis| | 2008-1-14 17:14 | 只看该作者

看一下汇编结果

使用特权

评论回复
板凳
martial| | 2008-1-14 17:30 | 只看该作者

记得有位大虾曾说过:

最好不要在函数参数中有表达式,好像说系统将它优化了,实现不了想要的功能

使用特权

评论回复
地板
happystar| | 2008-1-14 17:45 | 只看该作者

括起来试试

myFunc1((address1-address2),bpSrc,i)
我也没这么做过,你可以试试看怎么样呢

使用特权

评论回复
5
ruiwei0201|  楼主 | 2008-1-14 18:01 | 只看该作者

多谢回复

我括起来了,结果是一样的.正在研究中......

使用特权

评论回复
6
lml198694| | 2008-1-14 19:40 | 只看该作者

应该是函数参数中不能有表达式吧?

应该是函数参数中不能有表达式吧?

使用特权

评论回复
7
ruiwei0201|  楼主 | 2008-1-15 09:40 | 只看该作者

lmll198694

之前用的都是有表达式的参数没有问题的.只不过这是个long型数据而已.

使用特权

评论回复
8
ruiwei0201|  楼主 | 2008-1-15 10:50 | 只看该作者

问题解决,多谢关注

原来是address2的问题

使用特权

评论回复
9
ruiwei0201|  楼主 | 2008-1-15 12:56 | 只看该作者

特别感谢dai_weis

由于你的提醒,我仔细的分析了汇编代码,问题才得以解决.

使用特权

评论回复
10
martial| | 2008-1-15 17:55 | 只看该作者

“原来是address2的问题”具体是什么问题??

使用特权

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

本版积分规则

28

主题

149

帖子

0

粉丝