tem*_*emp 7 c gcc type-conversion gcc-warning implicit-conversion
使用-Wconversion进行编译,
uint32_val = 0x00000C00;
uint_8_val = ((uint32_val >> 8) & 0x000000FF);
Run Code Online (Sandbox Code Playgroud)
没有警告.
我应该用什么编译器标志来发出警告?
没有警告,因为表达式:
((uint32_val >> 8) & 0x000000FF)
Run Code Online (Sandbox Code Playgroud)
始终可以转换为适合字节的类型.您的uint32_val未被强制转换,但参与计算.编译器可以对此进行优化,在这种情况下很明显,逐位和逐位后的结果000000ff将始终符合提供的l值类型,因此没有警告.
| 归档时间: |
|
| 查看次数: |
348 次 |
| 最近记录: |