长整型实参传递的问题
我有一个函数原型为char read(ulong add);我在使用的时候是这样用的read(add_init+no*size)其中#define add_init0x9000#define size 0x1000 no 为从0~50;现在我只要地址超过0xf000,就会又从0x000开始读去数据,不知道到大家有没有遇到过类似的问题! no是什么数据类型?,或者你把no强转成ulong吧。定义的宏默认貌似是短整型。 之前的,当no超过16的时候,ox1000*16,就会溢出了 go2deathward 发表于 2014-10-9 19:22no是什么数据类型?,或者你把no强转成ulong吧。定义的宏默认貌似是短整型。 ...
no为uchar的类型,哦,试试吧!我下班前用了一个变量ulongdata;data=add_init+no*size;然后read(data);这样不知道是不是好用,感觉可能不好用的啊!那如果define size 0x001000这样可以使宏为长整型吗? 按我说的,应该是没错的
页:
[1]