<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 11.2.?安排一個明確大小給數據項 有時內核代碼需要一個特定大小的數據項, 也許要匹配預定義的二進制結構,[[39](#)] 來和用戶空間通訊, 或者來用插入"填充"字段來對齊結構中的數據( 但是關于對齊問題的信息參考 "數據對齊" 一節 ). 內核提供了下列數據類型來使用, 無論你什么時候需要知道你的數據的大小. 所有的數據聲明在 <asm/types.h>, 它又被 <linux/types.h> 包含. ~~~ u8; /* unsigned byte (8 bits) */ u16; /* unsigned word (16 bits) */ u32; /* unsigned 32-bit value */ u64; /* unsigned 64-bit value */ ~~~ 存在對應的有符號類型, 但是很少需要; 如果你需要它們, 只要在名子里用 s 代替 u. 如果一個用戶空間程序需要使用這些類型, 可用使用一個雙下劃線前綴在名子上: __u8 和其它獨立于 __KERNEL__ 定義的類型. 例如, 如果, 一個驅動需要與用戶空間中運行的程序交換二進制結構, 通過 ioctl, 頭文件應當在結構中聲明 32-位 成員為 __u32. 重要的是記住這些類型是 Linux 特定的, 并且使用它們妨礙了移植軟件到其他的 Unix 口味上. 使用近期編譯器的系統支持 C99-標準 類型, 例如 uint8_t 和 uint32_t; 如果考慮到移植性, 使用這些類型比 Linux-特定的變體要好. 你可能也注意到有時內核使用傳統的類型, 例如 unsigned int, 給那些維數與體系無關的項. 這是為后向兼容而做的. 當 u32 和它的類似物在版本 1.1.67 引入時, 開發者不能改變存在的數據結構為新的類型, 因為編譯器發出一個警告當在結構成員和安排給它的值之間有一個類型不匹配時.. Linus 不希望他寫給自己使用的操作系統稱為多平臺的; 結果是, 老的結構有時被松散的鍵入. 事實上, 編譯器指示類型不一致, 甚至在 2 個類型只是同一個對象的不同名子, 例如在 PC 上 unsigned long 和 u32. [[39](#)] 這發生在當讀取分區表時, 當執行一個二進制文件時, 或者當解碼一個網絡報文時.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看