[問題] 判斷Big Endian系統 or Little Endian系統

看板C_and_CPP作者 (給我21天的時間)時間15年前 (2010/08/27 17:52), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/4 (看更多)
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 寫一段程式判斷目前系統是 Big Endian or Little Endian 小弟很直覺寫了下面這一段,但找不到Big Endian的機器可以驗證 bool IsBigEndian() { char val = 0x1234; return (val==0x12); } 這麼方法不知道行不行得通? 有人可以幫忙驗證這個方法嗎? 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.217.21.50

08/28 02:32, , 1F
這樣會溢位,跟機器無關
08/28 02:32, 1F

08/28 09:10, , 2F
丟給 autoconf 或 CMake 判斷還比較簡單...
08/28 09:10, 2F

08/28 09:11, , 3F
不然直接挖 autoconf 生出來的 configure 檔裡的 code 用
08/28 09:11, 3F
文章代碼(AID): #1CT_j4qV (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1CT_j4qV (C_and_CPP)