|
|
1
4
删除
也可以从C++版本中删除它们。
检查asm以确保
|
|
2
4
在C++中,它编译为运行时初始化的
在C中,它只是拒绝编译,因为C不支持非常量初始值设定项/构造函数。
这真的很愚蠢,在所有4个主流的x86 C++编译器(Gcc/CLAN/ICC/MSVC)中,似乎是一个缺失的优化。即使每个人
因此,似乎恒定传播无法一直到转弯
从不使用
|
|
|
3
2
这个解决方案显然是可行的 可移植,使用GCC 8(仅使用此编译器测试):
正如在@harold的回答中所解释的(仅在C语言中),下面的代码(带或不带
所以总的来说最好去掉 静止的 常数 关键词(更好和更简单的代码在C++中,在C代码是便携式的,因为我建议黑客代码不是真正的便携式) |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |