QQ624353765 发表于 2024-1-11 10:05:28

有关c语言忽略无意义代码




C语言中使用ACC+B编译器编译忽略,如何跳过忽略并在这一行有效编译ADD A,B指令

hualuo1987 发表于 2024-1-11 10:19:51

我也想知道,标记下

社区闲人 发表于 2024-1-11 10:57:49

ACC += B;

gentleman 发表于 2024-1-11 11:14:18

在函数定义前 加上

#pragma OPTIMIZE(0)

试一下

rengran 发表于 2024-1-11 11:21:51

ACC+B只进行了+操作不赋予任何变量,本身就属于无效程序编写。根据你的注释,你是想实现A的值增加B,那么你应该写成A+=B。程序写错了,还想让编译器忽略这个警告,显然不是很好的解决办法,不利于你实现你想要的功能,写程序应该避免这种想法,不然有种掩耳盗铃之意。

嵌入式之路 发表于 2024-1-11 14:05:31

+=

QQ624353765 发表于 2024-1-11 14:30:12

rengran 发表于 2024-1-11 11:21
只进行了+操作不赋予任何变量,本身就属于无效程序编写。根据你的注释,你是想实现A的值增加B,那么你应该 ...

没用的,A+B是无意义的,被忽略了,A=A+B结果就是A=A,A+B还是被忽略了

QQ624353765 发表于 2024-1-11 14:34:29

gentleman 发表于 2024-1-11 11:14
在函数定义前 加上

#pragma OPTIMIZE(0)


没用的

rengran 发表于 2024-1-11 14:49:35

QQ624353765 发表于 2024-1-11 14:30
没用的,A+B是无意义的,被忽略了,A=A+B结果就是A=A,A+B还是被忽略了

不是,我没搞定你到底想实现什么?IDATA_=0?这个等于0,你只写个A+B并没有赋值给哪个变量,编译器觉得你这样做没有意义,忽略这个没啥问题,编译器做到了它该做的事,编译器没做错。
页: [1]
查看完整版本: 有关c语言忽略无意义代码