[问题] 建议使用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