日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于C語(yǔ)言對(duì)齊的一些總結(jié)

jf_59794894 ? 來(lái)源:jf_59794894 ? 作者:jf_59794894 ? 2026-05-08 11:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 對(duì)齊的目的是什么?

  • 提供訪問效率---放大對(duì)齊
  • 壓縮存儲(chǔ)空間---緊湊對(duì)齊

2. 對(duì)齊的類型有哪些?

  • 自然對(duì)齊 :結(jié)構(gòu)體默認(rèn)按最大基礎(chǔ)類型成員的大小對(duì)齊(比如最大成員是int(4字節(jié)),就按 4 字節(jié)對(duì)齊);
  • 強(qiáng)制對(duì)齊 :用__attribute__((aligned(n)))(GCC/Clang)或#pragma pack(n)(MSVC/GCC)指定對(duì)齊值n(必須是 2 的冪:1/2/4/8/16...)。

3. 對(duì)齊的規(guī)則是什么?

  • 使用packed#pragma pack(n) 時(shí),影響結(jié)構(gòu)體對(duì)齊、大小和成員對(duì)齊。結(jié)構(gòu)體每個(gè)成員必須按自身大小強(qiáng)制對(duì)齊值中的較小值對(duì)齊;
  • 使用aligned(n) 時(shí),只影響結(jié)構(gòu)體對(duì)齊和大小,不影響成員對(duì)齊;
  • 使用aligned(n) 時(shí),結(jié)構(gòu)體總大小必須是 max(最大成員對(duì)齊,aligned(n)) 的整數(shù)倍(不足則填充字節(jié));
  • 使用aligned(n) 時(shí),結(jié)構(gòu)體對(duì)齊取 max(最大成員對(duì)齊,aligned(n)) 。
struct Test1 {
    char a; // 按min(1, 1)=1對(duì)齊,起始地址0
    short b; // 按min(2,1)=1對(duì)齊,起始地址1 
    int c; // 按min(4,1)=1對(duì)齊,起始地址3
} __attribute__((packed));

// Test1的起始地址對(duì)齊1字節(jié), 比如0,1,2...
// Test1的總大小是1的整數(shù)倍,等于7

struct Test2 {
    char a; // 按min(1, 8)=1對(duì)齊,起始地址0
    short b; // 按min(2,8)=2對(duì)齊,起始地址2
    int c; // 按min(4,8)=4對(duì)齊,起始地址4
} __attribute__((aligned(8)));

// Test2的起始地址對(duì)齊max(4,8)=8字節(jié),比如0,8,16...
// Test2的總大小是8的整數(shù)倍,等于8

4. 對(duì)齊的方法有哪些?

指令作用適用場(chǎng)景
__attribute__((aligned(n)))放大對(duì)齊 (不能小于自然對(duì)齊)緩存對(duì)齊、硬件要求
__attribute__((packed))縮小對(duì)齊 (1 字節(jié)緊湊)網(wǎng)絡(luò)協(xié)議、節(jié)省內(nèi)存
#pragma pack(n)全局修改對(duì)齊規(guī)則跨編譯器兼容(MSVC/GCC)

5. 使用typedef定義的結(jié)構(gòu)體類型如何對(duì)齊?

typedef struct {
char a;
int  b;
} __attribute__((packed)) TestType;  // ? 正確:放在結(jié)構(gòu)體末尾

6. typedef結(jié)構(gòu)體類型定義的變量也會(huì)保持對(duì)齊嗎?

  • 是的
// 1. typedef + packed:定義“緊湊對(duì)齊的結(jié)構(gòu)體類型”
  typedef struct {
  char a;    // 1
  int  b;    // 4
  } __attribute__((packed)) MyType;

// 2. 用這個(gè)別名定義變量
MyType data;

// 結(jié)果:
// sizeof(MyType) = 5 字節(jié)(1+4,無(wú)填充)
// data 這個(gè)變量,內(nèi)存布局也是緊湊無(wú)填充的

7. __attribute__((aligned(n)))對(duì)數(shù)組的影響

  • 影響數(shù)組的起始地址對(duì)齊總大小 ,不影響數(shù)組元素對(duì)齊。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    183

    文章

    7648

    瀏覽量

    146227
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始實(shí)現(xiàn)中的一些功能?

    )。 如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始實(shí)現(xiàn)中的一些功能。 Example: I do not want to call arm_mat_trans_q15 powerquad
    發(fā)表于 04-03 06:37

    爬壁機(jī)器人磁鐵的一些常見問題

    爬壁機(jī)器人近幾年比較火,它是類能夠在垂直墻面、天花板、傾斜表面上移動(dòng)和作業(yè)的特種機(jī)器人,今天我們不聊其它,只聊下關(guān)于磁吸附應(yīng)用中的磁鐵,以下是小編整理的關(guān)于爬壁機(jī)器人中磁鐵的一些常見
    的頭像 發(fā)表于 01-09 10:06 ?472次閱讀
    爬壁機(jī)器人磁鐵的<b class='flag-5'>一些</b>常見問題

    汽車網(wǎng)絡(luò)安全開發(fā)語(yǔ)言選型指南:C/C++/Rust/Java等主流語(yǔ)言對(duì)比+Perforce QAC/Klocwork工具支持

    汽車網(wǎng)絡(luò)安全如何選編程語(yǔ)言C、C++、Rust、Java……誰(shuí)更適合AUTOSAR、ISO/SAE 21434?文了解8種主流語(yǔ)言的優(yōu)劣
    的頭像 發(fā)表于 12-26 11:13 ?680次閱讀
    汽車網(wǎng)絡(luò)安全開發(fā)<b class='flag-5'>語(yǔ)言</b>選型指南:<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++/Rust/Java等主流<b class='flag-5'>語(yǔ)言對(duì)</b>比+Perforce QAC/Klocwork工具支持

    C語(yǔ)言中一些令人震驚的結(jié)構(gòu)介紹

    C語(yǔ)言同意一些令人震驚的結(jié)構(gòu),下面的結(jié)構(gòu)是合法的嗎,如果是它做些什么? int a = 5, b = 7, c; c = a+++b;
    發(fā)表于 12-23 08:15

    關(guān)于六類網(wǎng)線一些問題的解答

    今天我們就圍繞網(wǎng)友一些常見的關(guān)于六類網(wǎng)線的問題進(jìn)行下匯總式解答: 問 六類網(wǎng)線可以當(dāng)電源用嗎? 答 六類網(wǎng)線并不是設(shè)計(jì)用于傳輸電力的電纜,因此般不建議將其用于電源傳輸。 盡管六類網(wǎng)
    的頭像 發(fā)表于 12-09 11:13 ?794次閱讀

    為什么單片機(jī)還在用C語(yǔ)言編程?

    ,只是C語(yǔ)言是最適合單片機(jī)編程的高級(jí)語(yǔ)言。 、單片機(jī)編程的特點(diǎn) 1.對(duì)單片機(jī)編程來(lái)說,我們首先要考慮的是單片機(jī)的程序空間和數(shù)據(jù)空間都是有限的,所以我們?cè)诰帉懗绦驎r(shí)要盡量做到讓程
    發(fā)表于 11-28 07:37

    C語(yǔ)言的編程技巧

    個(gè)成員是個(gè)未知大小的數(shù)組,適用于動(dòng)態(tài)分配內(nèi)存并關(guān)聯(lián)個(gè)可變長(zhǎng)度的數(shù)組。? ?3、匿名結(jié)構(gòu)體和聯(lián)合體?:C語(yǔ)言允許在結(jié)構(gòu)體或聯(lián)合體中定義不
    發(fā)表于 11-27 06:46

    寫好C程序的大要點(diǎn)

    中解決類似問題時(shí)所使用的寫法,《C程序設(shè)計(jì)語(yǔ)言書中有許多極好的程序?qū)嵗?。在這里有個(gè)關(guān)于程序模式的相關(guān)網(wǎng)頁(yè),里面也列出了
    發(fā)表于 11-24 08:23

    C語(yǔ)言特性

    1、高效性:直接操作硬件 C 語(yǔ)言代碼的執(zhí)行效率極高,這是其最為顯著的優(yōu)勢(shì)之。它能夠直接訪問硬件資源,與底層硬件進(jìn)行緊密交互,充分發(fā)揮硬件的性能潛力。在嵌入式開發(fā)中,硬件資源往往十分有限,對(duì)程序
    發(fā)表于 11-24 07:01

    貼片電容精度J±5%的一些詳細(xì)知識(shí)

    貼片電容精度J±5%表示電容的實(shí)際值與標(biāo)稱值之間的偏差范圍在±5%以內(nèi) ,以下是關(guān)于貼片電容精度J±5%的一些詳細(xì)知識(shí): 、精度等級(jí)含義 J±5% :字母“J”在貼片電容的標(biāo)識(shí)中通常表示標(biāo)稱精度
    的頭像 發(fā)表于 11-20 14:38 ?1043次閱讀
    貼片電容精度J±5%的<b class='flag-5'>一些</b>詳細(xì)知識(shí)

    摩爾線程新代大語(yǔ)言模型對(duì)齊框架URPO入選AAAI 2026

    近日,摩爾線程在人工智能前沿領(lǐng)域取得重要突破,其提出的新代大語(yǔ)言模型對(duì)齊框架——URPO統(tǒng)獎(jiǎng)勵(lì)與策略優(yōu)化,相關(guān)研究論文已被人工智能領(lǐng)域的國(guó)際頂級(jí)學(xué)術(shù)會(huì)議AAAI 2026收錄。這
    的頭像 發(fā)表于 11-17 16:03 ?623次閱讀
    摩爾線程新<b class='flag-5'>一</b>代大<b class='flag-5'>語(yǔ)言</b>模型<b class='flag-5'>對(duì)齊</b>框架URPO入選AAAI 2026

    C語(yǔ)言和單片機(jī)C語(yǔ)言有什么差異

    單片機(jī)c語(yǔ)言相對(duì)于普通C語(yǔ)言增加了一些基本的指令,還有變量的賦值是16進(jìn)制,當(dāng)然單片機(jī)c
    發(fā)表于 11-14 07:55

    蜂鳥E203的浮點(diǎn)指令集F的一些實(shí)現(xiàn)細(xì)節(jié)

    周期。 總結(jié) 本文介紹的內(nèi)容是為了完成基礎(chǔ)功能:對(duì)蜂鳥E203 RISC-V內(nèi)核的微架構(gòu)實(shí)現(xiàn)進(jìn)行定優(yōu)化,在添加F拓展的過程中的一些記錄。
    發(fā)表于 10-24 08:57

    CICC2033:關(guān)于C語(yǔ)言仿真的一些說明

    C語(yǔ)言運(yùn)行說明 操作說明(以helloworld為例) 1、在SDK環(huán)境下寫好C語(yǔ)言相關(guān)代碼。 最簡(jiǎn)單的寫法為根據(jù)已有demo進(jìn)行更改。如果說需要重新創(chuàng)建新的SDK項(xiàng)目,具體寫法
    發(fā)表于 10-21 14:18

    關(guān)于芯片設(shè)計(jì)的一些基本知識(shí)

    芯片的設(shè)計(jì)理念眾所周知,芯片擁有極為復(fù)雜的結(jié)構(gòu)。以英偉達(dá)的B200芯片為例,在巴掌大的面積上,塞入了2080億個(gè)晶體管。里面的布局,堪稱個(gè)異次元空間級(jí)的迷宮。英偉達(dá)B200芯片如此復(fù)雜的架構(gòu)
    的頭像 發(fā)表于 06-11 12:16 ?1559次閱讀
    <b class='flag-5'>關(guān)于</b>芯片設(shè)計(jì)的<b class='flag-5'>一些</b>基本知識(shí)
    四平市| 崇礼县| 建瓯市| 宜良县| 正安县| 鲁山县| 疏附县| 武冈市| 札达县| 建平县| 航空| 涟水县| 秦皇岛市| 沅陵县| 手游| 岳阳市| 和顺县| 巨野县| 双柏县| 沁源县| 西吉县| 于都县| 灵台县| 南投县| 赤峰市| 大港区| 长海县| 扎赉特旗| 墨竹工卡县| 南雄市| 高台县| 长治县| 乐业县| 柘城县| 尖扎县| 安顺市| 乐都县| 左贡县| 浮山县| 志丹县| 泉州市|