• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            colorful

            zc qq:1337220912

             

            補(bǔ)習(xí) size_t

            size_t是標(biāo)準(zhǔn)C庫(kù)中定義的,應(yīng)為unsigned int。
              數(shù)據(jù)類型"socklen_t"和int應(yīng)該具有相同的長(zhǎng)度。否則就會(huì)破壞 BSD套接字層的填充.POSIX開(kāi)始的時(shí)候用的是size_t, Linus Torvalds(他希望有更多的人,但顯然不是很多) 努力向他們解釋使用size_t是完全錯(cuò)誤的,因?yàn)樵?4位結(jié)構(gòu)中 size_t和int的長(zhǎng)度是不一樣的,而這個(gè)參數(shù)(也就是accept函數(shù)的第三參數(shù))的長(zhǎng)度必須和int一致,因?yàn)檫@是BSD套接字接口標(biāo)準(zhǔn).最終POSIX的那幫家伙找到了解決的辦法,那就是創(chuàng)造了一個(gè)新的類型"socklen_t".Linux Torvalds說(shuō)這是由于他們發(fā)現(xiàn)了自己的錯(cuò)誤但又不好意思向大家伙兒承認(rèn),所以另外創(chuàng)造了一個(gè)新的數(shù)據(jù)類型 。
              在C++中,設(shè)計(jì) size_t 就是為了適應(yīng)多個(gè)平臺(tái)的 。size_t的引入增強(qiáng)了程序在不同平臺(tái)上的可移植性。size_t是針對(duì)系統(tǒng)定制的一種數(shù)據(jù)類型,一般是整型,因?yàn)镃/C++標(biāo)準(zhǔn)只定義一最低的位數(shù),而不是必需的固定位數(shù)。而且在內(nèi)存里,對(duì)數(shù)的高位對(duì)齊存儲(chǔ)還是低位對(duì)齊存儲(chǔ)各系統(tǒng)都不一樣。為了提高代碼的可移植性,就有必要定議這樣的數(shù)據(jù)類型。一般這種類型都會(huì)定義到它具體占幾位內(nèi)存等。當(dāng)然,有些是編譯器或系統(tǒng)已經(jīng)給定義好的。經(jīng)測(cè)試發(fā)現(xiàn),在32位系統(tǒng)中size_t是4字節(jié)的,而在64位系統(tǒng)中,size_t是8字節(jié)的,這樣利用該類型可以增強(qiáng)程序的可移植性。
              一個(gè)基本的無(wú)符號(hào)整數(shù)的C / C + +類型。 它是sizeof操作符返回的結(jié)果類型。 該類型的大小是選擇,因此,它可以存儲(chǔ)在理論上是可能的任何類型的數(shù)組的最大大小。 在32位系統(tǒng)為size_t將采取32位和64位 - 64位。 換句話說(shuō),一個(gè)指針可以被安全地放進(jìn)為size_t類型(一個(gè)例外是類的函數(shù)指針,但是這是一個(gè)特殊的情況下)。 為size_t類型通常用于循環(huán),數(shù)組索引,大小的存儲(chǔ)和地址運(yùn)算。 雖然為size_t可以存儲(chǔ)一個(gè)指針,它是更好地使用另一個(gè)unsinged整數(shù)類型uintptr_t形式,目的(它的名字反映了它的能力)。 在某些情況下,使用為size_t類型是更有效,比使用更無(wú)符號(hào)類型的程序員習(xí)慣性安全。
              size_t是一個(gè)無(wú)符號(hào)整數(shù)memsize基地型的C / C + +語(yǔ)言的標(biāo)準(zhǔn)庫(kù)中定義的。 此類型在C頭文件stddef.h,在文件cstddef中所述的C + +。 位于頭文件stddef.h中定義的類型在全局命名空間,而cstddef地方在命名空間std為size_t類型。 由于C語(yǔ)言的標(biāo)準(zhǔn)頭文件stddef.h納入的兼容性的目的,在這些方案中,您可以在全局命名空間的類型的C + +程序(:為size_t,為size_t)和命名空間std(STD::為size_t)。

            ============================
            主要是為了可移植用的
            typedef unsigned long size_t;
            typedef short pid_t;
            在其他平臺(tái)上有可能是 typedef unsigned int/long long size_t,         typedef long/int pid_t等等,,
            這樣就可以直接用size_t pid_t定義變量了,
            解釋以下pid_t的用法:
            主要用在linux c下進(jìn)程管理中的,用它來(lái)表示進(jìn)程的id類型,即表示進(jìn)程表的索引(進(jìn)程表里是進(jìn)程id類型)

            posted on 2012-03-01 20:38 多彩人生 閱讀(500) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久综合中文字幕| 欧美精品丝袜久久久中文字幕 | 国产精品美女久久久网AV| 久久久久夜夜夜精品国产| 情人伊人久久综合亚洲| 久久AAAA片一区二区| 无码八A片人妻少妇久久| 99精品久久久久中文字幕| 久久国产精品偷99| 亚洲国产精品无码久久久不卡 | 好久久免费视频高清| 久久精品国产清自在天天线| 伊人色综合久久天天网| 久久99国产精品一区二区| 伊人色综合久久天天网| 久久婷婷综合中文字幕| 久久无码专区国产精品发布| 日本精品久久久久中文字幕| 伊人久久大香线蕉av一区| 韩国三级中文字幕hd久久精品 | 久久精品国产99国产电影网 | 亚洲午夜久久久久久久久电影网 | 漂亮人妻被中出中文字幕久久| 蜜桃麻豆www久久| 久久国产热精品波多野结衣AV| 伊人久久无码精品中文字幕| 国产69精品久久久久99尤物| 亚洲AV无码成人网站久久精品大| 亚洲国产成人久久综合一区77| 久久国产精品国产自线拍免费| 久久久久99精品成人片欧美| 久久亚洲精品无码aⅴ大香| 久久91精品国产91久| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 久久se这里只有精品| 91久久成人免费| 久久香蕉国产线看观看99| 久久r热这里有精品视频| 久久午夜电影网| 久久久久国产成人精品亚洲午夜| 国产精品免费看久久久香蕉|