[問題] 建議使用stdint.h嗎?

作者: wei115 (ㄎㄎ)   2021-10-29 17:32:31
如題
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嗎?會有什麼隱患嗎?
感謝
作者: Schottky (順風相送)   2021-10-29 17:36:00
就用啊 XD就只是習慣而已,stdint 是 C99 標準有不少書還是用 C89/C90 的環境去寫的甚至有時還會看到書中有不合 ANSI C 標準的 K&R C 寫法
作者: wei115 (ㄎㄎ)   2021-10-29 17:44:00
喔喔 原來 看都沒人用心裡毛毛的XD
作者: Schottky (順風相送)   2021-10-29 18:42:00
就算不用 stdint 也常有人自己定義 INT8 類型啊我是覺得如果環境允許,用 stdint 比較穩
作者: nh60211as   2021-10-29 19:14:00
用好用滿
作者: HMKRL (HMKRL)   2021-10-29 22:40:00
被雷過之後全部都用int32_t這些type...
作者: chuegou (chuegou)   2021-10-30 01:10:00
從出社會開始就一直用int32_t 用int的時候反而會怕
作者: longlongint (華哥爾)   2021-10-30 12:38:00
PC寫程式用int ,跨硬體/讀寫檔送封包用int32
作者: zxzx8059 (zxzx8059)   2021-10-30 14:55:00
microchip以前搞u24,後面又不支援= =
作者: KevinR (Kevin)   2021-10-30 16:53:00
作者: james732 (好人超)   2021-10-30 20:45:00
8bit MCU要看你的編譯器是否有支援
作者: KanzakiHAria (神崎・H・アリア)   2021-10-30 23:44:00
不建議 end
作者: ketrobo (貓蘿蔔)   2021-11-01 00:32:00
問MCU原廠,然後要自己刻unit test, test case不能省,不然踩到雷沒人能幫
作者: descent (「雄辯是銀,沉默是金」)   2021-11-01 08:54:00
我自己是覺得太長, 喜歡 linux u32, u64, s32, s64這寫法有時候是在 bare metal 環境, 不確定有沒有 stdint.h可用
作者: F04E (Fujitsu)   2021-11-01 09:14:00
幹 那個不建議是三小??
作者: pponywong (pony)   2021-11-01 11:10:00
非常建議使用 寫檔案格式還有網路傳輸很重要尤其還要跨不同平台
作者: alex70266 (小眼)   2021-11-02 12:08:00
用,除非你永遠不用考慮porting寫過的東西到其他平台上不然弄一次你就要爆炸了
作者: penut85420 (PenutGGorz)   2021-11-23 21:50:00
像樹莓派相關的專案就蠻推薦的
作者: xiao2chen (台大小陳)   2021-11-30 09:23:00
你就用typedef 包成喜歡的樣子

Links booklink

Contact Us: admin [ a t ] ucptt.com