看板 C_and_CPP 關於我們 聯絡資訊
如題 C99標準有stdint.h 裡面定義了一些整數的確定大小,一定程度上保障可移植性 所以在我的理解中,使用int32_t會比使用int還要好 但我目前還沒看過用stdint.h的專案 有些專案是有要求整數的大小是確定的,但也沒用stdint.h,而是自己定義類型 (ex. int32 uint32) 我猜過是太長懶的用(int比int32_t打起來順手多了) 但他們寧願用unsigned int也不用uint32_t,所以這個猜測也不對 最近要寫一個8bit MCU的專案 我自己的習慣是想用stdint.h,int的長度會很明確 編譯器有支援、不用合作、公司不怎麼管Coding Style 這樣建議用stdint.h嗎?會有什麼隱患嗎? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.13.240 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1635499953.A.B47.html ※ 編輯: wei115 (223.136.13.240 臺灣), 10/29/2021 17:35:04
Schottky: 就用啊 XD 10/29 17:36
Schottky: 就只是習慣而已,stdint 是 C99 標準 10/29 17:38
Schottky: 有不少書還是用 C89/C90 的環境去寫的 10/29 17:39
Schottky: 甚至有時還會看到書中有不合 ANSI C 標準的 K&R C 寫法 10/29 17:40
wei115: 喔喔 原來 看都沒人用心裡毛毛的XD 10/29 17:44
Schottky: 就算不用 stdint 也常有人自己定義 INT8 類型啊 10/29 18:42
Schottky: 我是覺得如果環境允許,用 stdint 比較穩 10/29 18:42
nh60211as: 用好用滿 10/29 19:14
HMKRL: 被雷過之後全部都用int32_t這些type... 10/29 22:40
chuegou: 從出社會開始就一直用int32_t 用int的時候反而會怕 10/30 01:10
longlongint: PC寫程式用int ,跨硬體/讀寫檔送封包用int32 10/30 12:38
zxzx8059: microchip以前搞u24,後面又不支援= = 10/30 14:55
KevinR: 用 10/30 16:53
james732: 8bit MCU要看你的編譯器是否有支援 10/30 20:45
KanzakiHAria: 不建議 end 10/30 23:44
ketrobo: 問MCU原廠,然後要自己刻unit test, test case不能省,不 11/01 00:32
ketrobo: 然踩到雷沒人能幫 11/01 00:32
descent: 我自己是覺得太長, 喜歡 linux u32, u64, s32, s64這寫法 11/01 08:54
descent: 有時候是在 bare metal 環境, 不確定有沒有 stdint.h可用 11/01 08:55
F04E: 幹 那個不建議是三小?? 11/01 09:14
pponywong: 非常建議使用 寫檔案格式還有網路傳輸很重要 11/01 11:10
pponywong: 尤其還要跨不同平台 11/01 11:11
alex70266: 用,除非你永遠不用考慮porting寫過的東西到其他平台上 11/02 12:08
alex70266: 不然弄一次你就要爆炸了 11/02 12:10
penut85420: 像樹莓派相關的專案就蠻推薦的 11/23 21:50
xiao2chen: 你就用typedef 包成喜歡的樣子 11/30 09:23