作者wei115 (社畜)
看板C_and_CPP
標題[問題] 建議使用stdint.h嗎?
時間Fri Oct 29 17:32:31 2021
如題
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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1635499953.A.B47.html
※ 編輯: wei115 (223.136.13.240 臺灣), 10/29/2021 17:35:04
1F:推 Schottky: 就用啊 XD 10/29 17:36
2F:→ Schottky: 就只是習慣而已,stdint 是 C99 標準 10/29 17:38
3F:→ Schottky: 有不少書還是用 C89/C90 的環境去寫的 10/29 17:39
4F:→ Schottky: 甚至有時還會看到書中有不合 ANSI C 標準的 K&R C 寫法 10/29 17:40
5F:→ wei115: 喔喔 原來 看都沒人用心裡毛毛的XD 10/29 17:44
6F:推 Schottky: 就算不用 stdint 也常有人自己定義 INT8 類型啊 10/29 18:42
7F:→ Schottky: 我是覺得如果環境允許,用 stdint 比較穩 10/29 18:42
8F:→ nh60211as: 用好用滿 10/29 19:14
9F:推 HMKRL: 被雷過之後全部都用int32_t這些type... 10/29 22:40
10F:推 chuegou: 從出社會開始就一直用int32_t 用int的時候反而會怕 10/30 01:10
11F:→ longlongint: PC寫程式用int ,跨硬體/讀寫檔送封包用int32 10/30 12:38
12F:→ zxzx8059: microchip以前搞u24,後面又不支援= = 10/30 14:55
13F:→ KevinR: 用 10/30 16:53
14F:→ james732: 8bit MCU要看你的編譯器是否有支援 10/30 20:45
15F:推 KanzakiHAria: 不建議 end 10/30 23:44
16F:→ ketrobo: 問MCU原廠,然後要自己刻unit test, test case不能省,不 11/01 00:32
17F:→ ketrobo: 然踩到雷沒人能幫 11/01 00:32
18F:→ descent: 我自己是覺得太長, 喜歡 linux u32, u64, s32, s64這寫法 11/01 08:54
19F:→ descent: 有時候是在 bare metal 環境, 不確定有沒有 stdint.h可用 11/01 08:55
20F:→ F04E: 幹 那個不建議是三小?? 11/01 09:14
21F:推 pponywong: 非常建議使用 寫檔案格式還有網路傳輸很重要 11/01 11:10
22F:→ pponywong: 尤其還要跨不同平台 11/01 11:11
23F:推 alex70266: 用,除非你永遠不用考慮porting寫過的東西到其他平台上 11/02 12:08
24F:推 alex70266: 不然弄一次你就要爆炸了 11/02 12:10
25F:推 penut85420: 像樹莓派相關的專案就蠻推薦的 11/23 21:50
26F:推 xiao2chen: 你就用typedef 包成喜歡的樣子 11/30 09:23