作者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/cn.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