在执行一段解密代码的时候出现错误,导致只解密前几个字节,通过查看汇编代码发现for循环被优化掉了,没有具体研究什么情况下会被优化掉,但是逻辑已经不对了,通过去掉优化,问题解决。方法为加优化标记,去掉优化,如下。
__attribute__((optimize("O0"))) void FunctionUseFor(params ...) { ... }
在执行一段解密代码的时候出现错误,导致只解密前几个字节,通过查看汇编代码发现for循环被优化掉了,没有具体研究什么情况下会被优化掉,但是逻辑已经不对了,通过去掉优化,问题解决。方法为加优化标记,去掉优化,如下。
__attribute__((optimize("O0"))) void FunctionUseFor(params ...) { ... }