⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 谈谈对齐 - c-c++ - embeded linux.htm

📁 講述ARM下的字符數據對齊方式的內容
💻 HTM
📖 第 1 页 / 共 4 页
字号:
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_87332.html">· 
          ARM<!-- a87332 --></A><!-- 87332 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_87432.html">· 
          BootLoader<!-- a87432 --></A><!-- 87432 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_87334.html">· 
          Driver<!-- a87334 --></A><!-- 87334 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_87333.html">· 
          Kernel<!-- a87333 --></A><!-- 87333 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_87331.html">· 
          C/C++<!-- a87331 --></A><!-- 87331 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_101214.html">· 
          Algorithm&amp;Data Structure<!-- a101214 --></A><!-- 101214 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_89413.html">· 
          Application develop<!-- a89413 --></A><!-- 89413 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_90190.html">· 
          Linux Shell<!-- a90190 --></A><!-- 90190 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_87335.html">· 
          Linux Administration<!-- a87335 --></A><!-- 87335 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_93952.html">· 
          Memory Management<!-- a93952 --></A><!-- 93952 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_87329.html">· 
          Electronics<!-- a87329 --></A><!-- 87329 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_89405.html">· 
          all other stuff<!-- a89405 --></A><!-- 89405 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_87330.html">· 
          Hardware Microchip<!-- a87330 --></A><!-- 87330 --> 
          <LI><A href="http://blog.chinaunix.net/u2/70445/article_87336.html">· 
          Motivation<!-- a87336 --></A><!-- 87336 --> </LI></UL></LI>
        <LI class=ul0><A class=list1 
        href="http://blog.chinaunix.net/u2/70445/index.html">首页</A> </LI></UL></TD>
    <TD width=10></TD></TR>
  <TR>
    <TD colSpan=4>
      <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 
      cellPadding=0 width=980 border=0>
        <TBODY>
        <TR>
          <TD></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<SCRIPT language=javascript>function $(s){return document.getElementById(s);}function ShowHideDiv(divid,iImg){if($(divid).style.display == "none"){iImg.src="../../templates/newgreen/images/dot2.gif";$(divid).style.display = "block";iImg.title="收起";}else{iImg.src="../../templates/newgreen/images/dot4.gif";$(divid).style.display = "none";iImg.title="展开";}}navHover();</SCRIPT>

<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 
cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD height=3></TD></TR></TBODY></TABLE><BR>
<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 
cellPadding=0 width="90%" align=center border=0>
  <TBODY>
  <TR>
    <TD width=18 height=28><IMG alt="" 
      src="谈谈对齐 - C-C++ - Embeded Linux.files/bg_art_left_top.gif" border=0></TD>
    <TD background="谈谈对齐 - C-C++ - Embeded Linux.files/bg_art_top.gif">
      <P style="MARGIN: 5px; LINE-HEIGHT: 150%"></P></TD>
    <TD width=18 height=28><IMG alt="" 
      src="谈谈对齐 - C-C++ - Embeded Linux.files/bg_art_right_top.gif" 
  border=0></TD></TR>
  <TR>
    <TD width=18 
    background="谈谈对齐 - C-C++ - Embeded Linux.files/bg_art_left.gif"></TD>
    <TD align=middle bgColor=#f5fdee><BR><FONT style="FONT-SIZE: 14pt" 
      color=#295200><B>谈谈对齐</B></FONT> 
      <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#a5bd6b cellSpacing=1 
      cellPadding=0 width="100%" border=1>
        <TBODY>
        <TR>
          <TD align=middle>
            <TABLE style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" 
            cellSpacing=0 cellPadding=0 width="100%" border=0>
              <TBODY>
              <TR>
                <TD align=middle>
                  <TABLE 
                  style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" 
                  cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY>
                    <TR>
                      <TD>
                        <DIV id=art style="MARGIN: 15px"><SPAN 
                        class=Apple-style-span 
                        style="LINE-HEIGHT: 18px; FONT-FAMILY: verdana">
                        <P 
                        style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 14px; PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; TEXT-INDENT: 2em; LINE-HEIGHT: 22px; PADDING-TOP: 0px">对齐问题主要有3点:变量对齐、结构对齐和数据对齐。前两点是编译器决定的变量映射和结构布局。最后一点与CPU的架构(CISC/RISC)有关。</P>
                        <P 
                        style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 14px; PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; TEXT-INDENT: 2em; LINE-HEIGHT: 22px; PADDING-TOP: 0px">在大多数情况下,对齐是编译器和CPU的事情,和程序员没什么关系。但在某些情况下,程序员又必须考虑对齐问题,否则会有一些麻烦。</P>
                        <H2 
                        style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">0 
                        约定和预备知识</H2>
                        <H3 
                        style="BORDER-RIGHT: rgb(204,204,204) 1px dotted; PADDING-RIGHT: 0.6em; BORDER-TOP: rgb(204,204,204) 1px dotted; PADDING-LEFT: 0.6em; FONT-SIZE: 12px; PADDING-BOTTOM: 0.6em; MARGIN: 6px 0px 0px; BORDER-LEFT: rgb(204,204,204) 1px dotted; PADDING-TOP: 0.6em; BORDER-BOTTOM: rgb(204,204,204) 1px dotted; FONT-FAMILY: 'Microsoft yahei', verdana, sans-serif">0.1 
                        地址边界</H3>
                        <P 
                        style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 14px; PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; TEXT-INDENT: 2em; LINE-HEIGHT: 22px; PADDING-TOP: 0px">如果把字节看作小房子,内存就是顺序排列的小房子。每个小房子都有一个顺序编号的门牌号码,例如:0,1,2,...,0xffffffff。我们把这个门牌号码称作地址。本文将2的整数倍的地址记作2n边界,将4的整数倍的地址记作4n边界,依此类推。显然每个地址都是1n边界,每个4n边界都是2n边界,每个8n边界都是4n边界。</P>
                        <P 
                        style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 14px; PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; TEXT-INDENT: 2em; LINE-HEIGHT: 22px; PADDING-TOP: 0px">所谓“对齐”就是把变量放在什么样的地址边界上,例如:1n边界,2n边界,还是4n边界。</P>
                        <H3 
                        style="BORDER-RIGHT: rgb(204,204,204) 1px dotted; PADDING-RIGHT: 0.6em; BORDER-TOP: rgb(204,204,204) 1px dotted; PADDING-LEFT: 0.6em; FONT-SIZE: 12px; PADDING-BOTTOM: 0.6em; MARGIN: 6px 0px 0px; BORDER-LEFT: rgb(204,204,204) 1px dotted; PADDING-TOP: 0.6em; BORDER-BOTTOM: rgb(204,204,204) 1px dotted; FONT-FAMILY: 'Microsoft yahei', verdana, sans-serif">0.2 
                        变量的分类</H3>
                        <P 
                        style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 14px; PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; TEXT-INDENT: 2em; LINE-HEIGHT: 22px; PADDING-TOP: 0px">分类源自角度。有多少角度,就有多少分类。最近经常被迫收听“One 
                        World, One 
                        dream”,其实在我看来,每个生命都有独一无二的梦想,何况国家。如果狗熊有宗教信仰,它心目中的上帝应该是一只相貌儒雅的狗熊吧。</P>
                        <H4 
                        style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">0.2.1 
                        基本类型和复合类型</H4>
                        <P 
                        style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 14px; PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; TEXT-INDENT: 2em; LINE-HEIGHT: 22px; PADDING-TOP: 0px">从构成看,变量可以分为基本类型的变量和复合类型的变量。基本类型就是语言内部支持的简单类型,例如char, 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -