函数传参时,数值发生改变的bug
已修复,无截图
现象:
在调用函数时,传入的数值,和实际上用来计算的数值不一样,以int为例,体现在:
0、调试情况下,
1、传入时,也就是函数调用时的参数数值为a,
2、跳转到函数实现时,对应位置的参数值不为a了,然后导致了函数运行与期待不符。
原因之一:
两个cpp分别作为独立的编译单元,没有在完全相同的环境下编译成动态库:
1、相同源代码,编译工具不同,比如一个用vs,一个用gcc
2、相同源代码,编译版本不同,比如一个用vs2008,一个用vs2019
3、相同源代码,工程构建工具不同等
解决方法:
确保两个cpp在同一个工程环境中被编译,删掉所有已有解决方案,重新生成解决方案。
注意:
编译的时候清除掉原有的已编译内容,重新编译有调用关系的cpp,最稳的方法是全部删了重编。