![]() |
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是两个著名的分析仪。戈安娜是第三个。 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 6 月前 |
![]() |
MysteryMoose · GCC下故意忽略初始化器警告中的过量元素 8 月前 |
|
Ken P · 如何利用[*]printf格式类型规范警告? 12 月前 |
![]() |
fghoussen · 在C结构体中,为什么打包、对齐似乎会进行填充? 1 年前 |
![]() |
adversarr · 全局变量何时导出到可执行文件? 1 年前 |