→ samuelcdf: 我找了一下午, 也沒有找到什麼資訊, 不過我想這只是因 01/23 17:30
→ samuelcdf: 為undefined behavior出來結果剛好跟我們想的一樣而已 01/23 17:31
推 lovejomi: 我比較想知道 乍看想法我都不會覺得有問題,該怎麼知道 01/23 19:05
→ lovejomi: 這寫法是很可能undefined behavior呢? 01/23 19:05
→ lovejomi: 假設是在little endian的機器上 我查了一下 轉成uchar* 01/23 23:13
→ lovejomi: 沒有違反 strict alias, 那這樣可以嗎?還是一樣有問題 01/23 23:13
→ samuelcdf: 用union, char*, unsigned char*都可以 01/24 09:37
→ descent: 可能你的 int, float 大小一樣 01/24 16:21
推 LPH66: strict aliasing rule 不是表示它真的指到別處了 01/26 14:31
→ LPH66: 而是編譯器會假設不同型態指標指的一定是不同物件 01/26 14:32
→ LPH66: 利用這個假設來進行許多的最佳化 01/26 14:32
→ LPH66: 這個是 C 語言標準給的自由空間 01/26 14:34
→ LPH66: 那編譯器在不同的最佳化層級下會不會用這條規則進行最佳化 01/26 14:35
→ LPH66: 就要看各自編譯器的設計了 01/26 14:35
推 IhateOGC: 這讓我想到C++當C寫的天兵 01/31 11:24