国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

淺談int8_t int64_t size_t ssize_t的相關問題(詳解)

2020-05-23 13:49:21
字體:
來源:轉載
供稿:網(wǎng)友

在代碼中經(jīng)??吹絠nt8_t/int16_t/int32_t/int64_t/uint8_t/size_t/ssize_t,以前對這個問題一直是稀里糊涂的,不明白它們到底是什么數(shù)據(jù)類型,現(xiàn)在上班了,必須把它弄明白了

uint8_t之類

那么_t的意思到底表示什么?具體的官方答案沒有找到,不過我覺得有個答案比較接近。它就是一個結構的標注,可以理解為type/typedef的縮寫,表示它是通過typedef定義的,而不是其它數(shù)據(jù)類型。既然它們都不是新的數(shù)據(jù)類型,只是使用typedef給類型起的別名,那為什么需要定義它們了?因為跨平臺,不同的平臺會有不同的字長,所以利用預編譯和typedef可以讓你最有效的維護你的代碼。

它們在stdint.h頭文件中定義,下面的代碼從/usr/include/stdint.h中復制

<span style="font-family:Microsoft YaHei;font-size:14px;">/* There is some amount of overlap with <sys/types.h> as known by inet code */#ifndef __int8_t_defined# define __int8_t_definedtypedef signed char       int8_t;typedef short int        int16_t;typedef int           int32_t;# if __WORDSIZE == 64typedef long int        int64_t;# else__extension__typedef long long int      int64_t;# endif#endif/* Unsigned. */typedef unsigned char      uint8_t;typedef unsigned short int   uint16_t;#ifndef __uint32_t_definedtypedef unsigned int      uint32_t;# define __uint32_t_defined#endif#if __WORDSIZE == 64typedef unsigned long int    uint64_t;#else__extension__typedef unsigned long long int uint64_t;#endif</span>

看完上面的代碼,對uint8_t等就有了清晰明確的認識了

size_t/ssize_t

關于size_t/ssize_t,著急的同學可以先看結論
size_t       無符號整型      32bit系統(tǒng)上等同于unsigned int        64bit系統(tǒng)上等同于unsigned long int

ssize_t      有符號整型      32bit系統(tǒng)上等同于int                       64bit系統(tǒng)上等同于long int

32bit系統(tǒng)中 long int為32bit,64bit系統(tǒng)中 long int為64bit

可以從/usr/include/sys/types.h一層層查找,最終會找到ssize_t和size_t的定義。

如何判斷系統(tǒng)位數(shù)

getconf WORD_BIT

getconf LONG_BIT

或者使用uname -a

以上這篇淺談int8_t int64_t size_t ssize_t的相關問題(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網(wǎng)。

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泸定县| 龙海市| 崇信县| 泽州县| 兴仁县| 克什克腾旗| 临海市| 那曲县| 金阳县| 南靖县| 大同市| 灵台县| 南雄市| 耒阳市| 台安县| 陇川县| 金门县| 合川市| 柏乡县| 石首市| 曲麻莱县| 兴仁县| 桂阳县| 循化| 湖州市| 加查县| 邮箱| 余干县| 德昌县| 勐海县| 南木林县| 孟津县| 吴江市| 根河市| 河东区| 承德市| 周宁县| 仪陇县| 抚宁县| 上饶市| 周至县|