![]() |
1
18
gcc 4.5支持
|
|
2
6
使用gcc 4.4.0 Windows交叉编译器到PowerPC,使用-O2或-O3编译,我可以使用以下工具:
如果编译器没有对其进行优化,因为它得出了不可访问的结论,那么汇编程序将失败,并执行未知操作。 是的,它很可能是“在不同的优化选项下高度不可预测的”,当我最终更新编译器时,它可能会崩溃,但目前它比什么都没有要好。 |
![]() |
3
6
我在文件里也找不到任何暗示它会的东西。
使用:
我唯一认为 做 do,就是允许编译器基于某行代码永远达不到这一事实来进行某些优化,如果你犯了一个编程错误,它就会给出未定义的行为。
例如,执行上述示例似乎正常退出,但不打印
在Ubuntu 16.04中,这个标志被破坏了: ld: unrecognized option '--push-state--no-as-needed'
是什么
如果我们同时反汇编代码
我们看到没有它的那一个
甚至没有回来,所以我认为这只是一个未定义的行为巧合,它没有爆炸。 为什么GCC不能确定某些代码是否无法访问? 我收集了以下答案:
在GCC 7.3.0和Ubuntu 18.04上测试。 |
![]() |
4
2
我个人并不熟悉他们,但Klokwork和CodeSonar是两个著名的分析仪。戈安娜是第三个。 |
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 4 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 4 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 5 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 5 月前 |