编译器是否可以改变程序员的编程逻辑或意图

编译器是否可以改变程序员的编程逻辑或意图

问题描述:

举例:用c语言,有一个整型变量a,在代码中明确表示a不会加一或减一,但是在调试时a却违背了程序员的意图出现了加一或减一的情况。

不会,但如果是希望单步调试来跟踪变量的变化,最好将代码编译的优化选项关闭掉,否则优化后的代码与C的变量是不能一一对应起来的。

编译器不会出现这个错误 应该有其它地方修改或者越界等修改了

编译器是程序,是程序就可以做任何事情。就在最近,就有人通过修改xcode附带的oc编译器,把恶意代码附加到使用这个编译器的所有程序上。
相关报道:http://digi.163.com/15/0918/19/B3QMTEMR00162OUT.html

不知道用的什么编辑器