欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年03月28日 09:42:17   投稿:jingxian  
下面小編就為大家?guī)硪黄獪\談int8_t int64_t size_t ssize_t的相關(guān)問題(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

uint8_t之類

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

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

<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_defined
typedef signed char       int8_t;
typedef short int        int16_t;
typedef int           int32_t;
# if __WORDSIZE == 64
typedef 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_defined
typedef unsigned int      uint32_t;
# define __uint32_t_defined
#endif
#if __WORDSIZE == 64
typedef unsigned long int    uint64_t;
#else
__extension__
typedef unsigned long long int uint64_t;
#endif</span>

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

size_t/ssize_t

關(guān)于size_t/ssize_t,著急的同學(xué)可以先看結(jié)論
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的相關(guān)問題(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++基于EasyX圖形庫實現(xiàn)2048小游戲

    C++基于EasyX圖形庫實現(xiàn)2048小游戲

    這篇文章主要為大家詳細(xì)介紹了C++基于EasyX圖形庫實現(xiàn)2048小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C/C++函數(shù)調(diào)用的幾種方式總結(jié)

    C/C++函數(shù)調(diào)用的幾種方式總結(jié)

    本篇文章主要是對C/C++函數(shù)調(diào)用的幾種方式進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • Opencv繪制最小外接矩形、最小外接圓

    Opencv繪制最小外接矩形、最小外接圓

    這篇文章主要為大家詳細(xì)介紹了Opencv繪制最小外接矩形、最小外接圓的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 用C實現(xiàn)PHP擴(kuò)展 Fetch_Url 類數(shù)據(jù)抓取的方法

    用C實現(xiàn)PHP擴(kuò)展 Fetch_Url 類數(shù)據(jù)抓取的方法

    該擴(kuò)展是基于libcurl基礎(chǔ)實現(xiàn)的網(wǎng)頁數(shù)據(jù)抓取
    2013-04-04
  • C語言實現(xiàn)簡單計算器功能(2)

    C語言實現(xiàn)簡單計算器功能(2)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)簡單計算器功能的第二部分,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C++處理輸入字符串并轉(zhuǎn)為數(shù)組的操作

    C++處理輸入字符串并轉(zhuǎn)為數(shù)組的操作

    這篇文章主要介紹了C++處理輸入字符串并轉(zhuǎn)為數(shù)組的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • VS2022永久配置OpenCV開發(fā)環(huán)境的實現(xiàn)

    VS2022永久配置OpenCV開發(fā)環(huán)境的實現(xiàn)

    本文主要介紹了VS2022永久配置OpenCV開發(fā)環(huán)境的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C語言中單鏈表的基本操作指南(增刪改查)

    C語言中單鏈表的基本操作指南(增刪改查)

    鏈表跟數(shù)組不同的是非連續(xù)存儲結(jié)構(gòu),也就是說實現(xiàn)鏈表需要一個指針,每用完一個節(jié)點指針指向下一個節(jié)點,直至表尾,下面這篇文章主要給大家介紹了關(guān)于C語言中單鏈表的基本操作之增刪改查的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 最新評論