| 发表于:2007-08-05 12:48:19 楼主 |
//现象使用下面的代码描述; //由于代码比较长,只写出简单的部分代码: //param是一个结构体, //第一种情况 1: printk( "1=%d\n ",param-> width); 2: length=param-> width; 3: printk( "2=%d\n ",length); 4: length=(length & 0xffff); 5: printk( "3=%d\n ",length); 6: length=(length+offset)> 0xffff ?(1000):length; ##输出结果为: 1=512; 2=512; 3=512; #第二种情况 1: printk( "1=%d\n ",param-> width); 2: length=param-> width; 3: //printk( "2=%d\n ",length); 4: length=(length & 0xffff); 5: printk( "3=%d\n ",length); 6: le3ngth=(length+offset)> 0xffff ?(1000):length; ####输出结果为: 1=512 3=0 没有打印语句时就出现错误.... #第三种情况 1: printk( "1=%d\n ",param-> width); 2: length=param-> width; 3: printk( "2=%d\n ",length); 4: //length=(length & 0xffff); 5: printk( "3=%d\n ",length); 6: le3ngth=(length+offset)> 0xffff ?(1000):length; ####输出结果为: 1=512 2=512 3=512 去掉与操作指令也没有问题了 //cpu为mips,怀疑是编译选项的问题,但是具体什么选项不清楚; 请高手指点,非常感谢 |
|
|
|
|