Skip to content

Latest commit

 

History

History
15 lines (10 loc) · 549 Bytes

c-undefined-behavior.rst

File metadata and controls

15 lines (10 loc) · 549 Bytes
  • Undefined behavior: 不會產生 compiler warning / error
    • 觸發時,任何結果都可能發生
    • 就是爆炸活該,保險不給付的意思
  • Implementation-defined behavior
    • 例如 sizeof(int)
    • 要寫在 Compiler 實作的文件裡
    • Programmer 可以用,但一定要把文件看完,否則爆炸活該
  • Unspecified behavior
    • 例如 function argument 被 evaluate 的順序,且每次的結果都可能不一樣
    • Compiler 的實作在這裡應該要選擇合理的優化策略,但沒有必要寫在文件中