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

📄 arm数据对齐 ----- ads1_2编译_linux技术文章_linux_操作系统.htm

📁 講述ARM下的字符數據對齊方式的內容
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<P class=MsoNormal><SPAN lang=EN-US><SPAN>&nbsp;&nbsp;&nbsp; 
</SPAN>2</SPAN><SPAN style="FONT-FAMILY: 宋体">、</SPAN><SPAN lang=EN-US>usigned 
long </SPAN><SPAN style="FONT-FAMILY: 宋体">是</SPAN><SPAN lang=EN-US>4</SPAN><SPAN 
style="FONT-FAMILY: 宋体">字节的,那么数据就按</SPAN><SPAN lang=EN-US>4</SPAN><SPAN 
style="FONT-FAMILY: 宋体">字节对齐。</SPAN></P>
<P class=MsoNormal><SPAN 
lang=EN-US><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体">定义两个变量如下:</SPAN><SPAN lang=EN-US> 
usigned char<SPAN>&nbsp;&nbsp; </SPAN>a08;</SPAN></P>
<P class=MsoNormal><SPAN 
lang=EN-US><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>Usigned long<SPAN>&nbsp; </SPAN><SPAN>&nbsp;</SPAN>a32</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: -42pt"><SPAN 
lang=EN-US><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体">如果</SPAN><SPAN 
lang=EN-US>a08</SPAN><SPAN style="FONT-FAMILY: 宋体">所在的地址为</SPAN><SPAN 
lang=EN-US>0x80000005</SPAN><SPAN style="FONT-FAMILY: 宋体">,那么</SPAN><SPAN 
lang=EN-US>a16</SPAN><SPAN style="FONT-FAMILY: 宋体">所在的地址为</SPAN><SPAN 
lang=EN-US>0x80000008</SPAN><SPAN style="FONT-FAMILY: 宋体">,</SPAN><SPAN 
lang=EN-US>a32</SPAN><SPAN style="FONT-FAMILY: 宋体">不会分配到</SPAN><SPAN 
lang=EN-US>0x80000006</SPAN><SPAN 
style="FONT-FAMILY: 宋体">,默认情况下,编译器为</SPAN><SPAN lang=EN-US>usigned 
long</SPAN><SPAN style="FONT-FAMILY: 宋体">类型的变量分配到</SPAN><SPAN 
lang=EN-US>4</SPAN><SPAN style="FONT-FAMILY: 宋体">的倍数的地址处。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><O:P></O:P></SPAN></P>
<P class=MsoNormal 
style="FONT-WEIGHT: bold; MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt">&lt;!--[if 
!supportLists]--&gt;<FONT size=4><SPAN lang=EN-US><SPAN>三、</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体">解决办法</SPAN></FONT>&lt;!--[endif]--&gt;</P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt"><SPAN lang=EN-US><SPAN>&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体">如果我们想要让编译器不使用自然边界对齐,让任何类型的变量都紧接着上一变量的地址进行分配,可以使用</SPAN><SPAN 
lang=EN-US>__packed</SPAN><SPAN style="FONT-FAMILY: 宋体">关键字。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体">(未完)</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt"><SPAN 
lang=EN-US><O:P></O:P></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><O:P></O:P></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><O:P></O:P></SPAN></P>
<P class=MsoNormal 
style="FONT-WEIGHT: bold; MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt">&lt;!--[if 
!supportLists]--&gt;<FONT size=4><SPAN lang=EN-US><SPAN>四、</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体">使用</SPAN><SPAN lang=EN-US>__packed</SPAN><SPAN 
style="FONT-FAMILY: 宋体">的注意事项</SPAN></FONT>&lt;!--[endif]--&gt;</P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt"><SPAN lang=EN-US>1</SPAN><SPAN 
style="FONT-FAMILY: 宋体">、</SPAN><SPAN lang=EN-US>__packed </SPAN><SPAN 
style="FONT-FAMILY: 宋体">对局部变量无效。</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt"><SPAN lang=EN-US>2</SPAN><SPAN 
style="FONT-FAMILY: 宋体">、声明为</SPAN><SPAN lang=EN-US>__packed </SPAN><SPAN 
style="FONT-FAMILY: 宋体">的变量,必须使用</SPAN><SPAN lang=EN-US>__packed </SPAN><SPAN 
style="FONT-FAMILY: 宋体">的指针变量来指向其地址。</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt"><SPAN lang=EN-US><SPAN>&nbsp;&nbsp; 
</SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体">如:</SPAN><SPAN lang=EN-US> 
</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt"><SPAN 
lang=EN-US><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>__packed<SPAN>&nbsp; 
</SPAN>u16<SPAN>&nbsp; </SPAN>u<ST1:CHMETCNV unitname="a" sourcevalue="16" 
hasspace="False" negative="False" numbertype="1" tcsc="0" 
w:st="on">16a</ST1:CHMETCNV>;</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt"><SPAN 
lang=EN-US><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>__packed<SPAN>&nbsp; 
</SPAN>u16<SPAN>&nbsp; </SPAN>*pu16;</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt"><SPAN 
lang=EN-US><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>pu16 = (u16 
*)&amp;u<ST1:CHMETCNV unitname="a" sourcevalue="16" hasspace="False" 
negative="False" numbertype="1" tcsc="0" 
w:st="on">16a</ST1:CHMETCNV>;</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt"><SPAN lang=EN-US>3</SPAN><SPAN 
style="FONT-FAMILY: 宋体">、声明为</SPAN><SPAN lang=EN-US>__packed </SPAN><SPAN 
style="FONT-FAMILY: 宋体">的结构</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt"><SPAN 
lang=EN-US><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体">声明为</SPAN><SPAN lang=EN-US>__packed </SPAN><SPAN 
style="FONT-FAMILY: 宋体">的结构仅仅</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt"><SPAN lang=EN-US>4</SPAN><SPAN 
style="FONT-FAMILY: 宋体">、声明为</SPAN><SPAN lang=EN-US>__packed </SPAN><SPAN 
style="FONT-FAMILY: 宋体">的结构变量</SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><O:P></O:P></SPAN></P>
<P class=MsoNormal 
style="FONT-WEIGHT: bold; MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt">&lt;!--[if 
!supportLists]--&gt;<FONT size=4><SPAN lang=EN-US><SPAN>五、</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体">后记</SPAN></FONT>&lt;!--[endif]--&gt;</P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt"><SPAN 
style="FONT-FAMILY: 宋体">以上内容未经测试,由</SPAN><SPAN lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体">编译器手册及相关资料理解总结所得。</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt"><SPAN 
style="FONT-FAMILY: 宋体">不建议使用</SPAN><SPAN lang=EN-US>__packed </SPAN><SPAN 
style="FONT-FAMILY: 宋体">来节省数据大小,因为这需要付出减低执行效率和浪费代码空间的代价。</SPAN></P><BR><BR>
<P id=TBPingURL></SPAN></P>
<DIV class=ad_f10 id=ad_f10>
<SCRIPT 
src="ARM数据对齐 ----- ADS1_2编译_Linux技术文章_Linux_操作系统.files/ad_f10.js"></SCRIPT>
</DIV>
<DIV class=ad_f11 id=ad_f11>
<SCRIPT 
src="ARM数据对齐 ----- ADS1_2编译_Linux技术文章_Linux_操作系统.files/ad_f11.js"></SCRIPT>
</DIV>
<DIV class=kjh>欢迎光临<A href="http://www.diybl.com/" target=_blank><STRONG><FONT 
color=#cc0000>DIY部落</FONT></STRONG></A>,<A 
href="http://www.diybl.com/course/6_system/linux/Linuxjs/849ftkfztk.html" 
target=_blank><STRONG><FONT color=#cc0000>点击这里</FONT></STRONG></A>查看更多文章教程   <A 
class=redlink 
href="javascript:self.location='/user/chm/rar.asp?c_id=78326'">【点击打包该文章】</A></DIV></DIV>
<DIV class=ad_f4 id=ad_f4>
<SCRIPT 
src="ARM数据对齐 ----- ADS1_2编译_Linux技术文章_Linux_操作系统.files/ad_f4.js"></SCRIPT>
</DIV>
<DIV class=mediacontent>如果图片或页面不能正常显示请<A class=redlink 
onmouseover="this.style.cursor='hand';" 
onclick="openerror('78326','ARM数据对齐  -----  ADS1.2编译');">点击这里</A> 站内搜索: <INPUT 
maxLength=255 size=25 name=wd3> &nbsp;&nbsp;<INPUT onclick=tosearch(document.all.wd3); type=button value=千寻搜索></DIV>
<DIV style="CLEAR: both" align=center></DIV>
<DIV class=toollinks>【<A 
href="javascript:window.external.addFavorite(window.location,'ARM数据对齐%20%20-----%20%20ADS1.2编译-DIY部落');">收藏此页</A>】【<A 
href="http://www.diybl.com/course/6_system/linux/Linuxjs/849ftkfztk.html" 
target=_blank>栏目页面</A>】【<A 
href="http://www.diybl.com/course/6_system/linux/Linuxjs/20071019/78326.html#comment">发表评论</A>】【<A 
href="http://www.diybl.com/course/6_system/linux/Linuxjs/20071019/78326.html#">返回顶部</A>】【<A 
href="javascript:window.close()">关闭</A>】 </DIV>
<DIV class=p_bottom>上一篇文章:<A 
href="http://www.diybl.com/course/6_system/linux/Linuxjs/20071019/78327.html">微软Vista遭到报应</A><BR>下一篇文章:<A 
href="http://www.diybl.com/course/6_system/linux/Linuxjs/20071019/78325.html">linux一句话问答5(转自Linux时代网)</A></DIV></DIV>
<DIV style="CLEAR: both; BACKGROUND: #fff; OVERFLOW: hidden; HEIGHT: 8px"></DIV>
<DIV id=links align=center>
<TABLE class=xgzt cellSpacing=0 cellPadding=0 width=687>
  <TBODY>
  <TR>
    <TD style="PADDING-LEFT: 5px" bgColor=#e1effa>
      <H3>推荐文章</H3></TD></TR>
  <TR>
    <TD bgColor=#fcfeff>
      <DIV class="tj_l tj"><NOBR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/20071129/88994.html" 
      target=_blank>内核内存分配类型</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/20071129/88839.html" 
      target=_blank>世界第一黑客总结电脑安全十大建议(图)</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/2008628/129004.html" 
      target=_blank>linux 内核模块装载过程 </A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/200865/122245.html" 
      target=_blank>h323分析 ,hust校友的文章</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/200873/129909.html" 
      target=_blank>sed学习</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/2008620/127090.html" 
      target=_blank>解决linux控制台下中文乱码</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/2008810/135526.html" 
      target=_blank>Fast Scatter-Gather I/O</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/2008829/138678.html" 
      target=_blank>Linux任务控制</A></DIV>
      <DIV class="tj_r tj"><NOBR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/2008619/126848.html" 
      target=_blank>架构 LVS 系统相关软件介绍</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/200875/130334.html" 
      target=_blank>rhas3+qmail+mysql+smtp+vpopmail+igenus</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/2008815/136040.html" 
      target=_blank>LVS大全</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/20071027/80532.html" 
      target=_blank>Windows转向Linux</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/2007926/73911.html" 
      target=_blank>CentOS3 Linux 服务器环境配置优化详解</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/200877/130810.html" 
      target=_blank>100个最佳的Linux站点推荐</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/2008717/133415.html" 
      target=_blank>嵌入式学习网站推荐</A><BR><A 
      href="http://www.diybl.com/course/6_system/linux/Linuxjs/2008827/137832.html" 
      target=_blank>包缓冲区操作的几个内嵌函数</A></DIV></NOBR></TD></TR></TBODY></TABLE></DIV>
<DIV style="CLEAR: both; BACKGROUND: #fff; OVERFLOW: hidden; HEIGHT: 8px"></DIV>
<DIV class=cleanblock2 
style="BORDER-RIGHT: #dedfde 1px solid; BORDER-TOP: #dedfde 1px solid; BACKGROUND: #ededed; BORDER-LEFT: #dedfde 1px solid; BORDER-BOTTOM: #dedfde 1px solid">
<H3>文章评论</H3></DIV>
<DIV class=cleanblock3><IFRAME class=comm_index name=pindex 
src="ARM数据对齐 ----- ADS1_2编译_Linux技术文章_Linux_操作系统.files/CAS9I34L.htm" 
frameBorder=false width="100%" scrolling=no 
onload="window.setTimeout('iframe_resize()',1000)" height=0></IFRAME></DIV>
<DIV style="CLEAR: both; BACKGROUND: #fff; OVERFLOW: hidden; HEIGHT: 8px"></DIV>
<FORM style="MARGIN-TOP: 0px" 
action=/user/comment.asp?id=78326&amp;url=http://www.diybl.com/course/6_system/linux/Linuxjs/20071019/78326.html 
method=post>
<DIV class=comment_1>
<DIV class=cleanblock2><A name=comment></A>
<H3>请您留言</H3></DIV>
<DIV class=cleanblock style="PADDING-RIGHT: 20px; PADDING-LEFT: 20px"><LABEL 
for=label>昵称: <INPUT onclick=this.focus();this.select() maxLength=20 size=15 
value=DIY部落网友 name=hypocorism>      <A 
href="http://www.diybl.com/user/register.asp" target=_blank><FONT 
color=red>注册会员</FONT></A> <A href="http://www.diybl.com/user/login.asp" 
target=_blank>会员登陆</A> <BR><SPAN style="LINE-HEIGHT: 25px"><A 
href="http://www.diybl.com/user/chgpage/cata.asp?num=1060103" 
target=_blank><FONT color=#990000><STRONG>点击这里</STRONG></FONT></A></SPAN> 
自己制作打包的chm电子书教程 <TEXTAREA style="VERTICAL-ALIGN: text-top; WIDTH: 100%; HEIGHT: 7em" onfocus=showchk(); name=content rows=6></TEXTAREA> 
<LABEL id=checkCode style="DISPLAY: none">验证: <INPUT maxLength=5 size=8 
name=loginnum>&nbsp;&nbsp;&nbsp;<IMG id=codeImg 
style="VERTICAL-ALIGN: middle; CURSOR: pointer; HEIGHT: 18px" 
onclick="this.src='/user/getcode.asp?t='+Math.random()" alt=验证码,看不清楚?请点击刷新验证码 
src="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</LABEL> <INPUT class=btn_2k3 style="MARGIN-TOP: 8px" type=submit value=发表评论> 
</DIV></DIV>
<DIV class=comment_1 
style="FLOAT: left; MARGIN-LEFT: 6px; WIDTH: 313px; HEIGHT: 90px">
<DIV class=cleanblock2>
<H3>网友推荐文章</H3></DIV>
<DIV class=cleanblock>
<TABLE cellSpacing=0 cellPadding=0 width="100%">
  <TBODY>
  <TR>
    <TD style="PADDING-RIGHT: 15px">
      <UL>
        <LI><A 
        href="http://www.diybl.com/course/6_system/linux/Linuxjs/2008628/128995.html" 
        target=_blank>Linux As 4下安装配置DNS服务器(9.3.3版)</A></LI>
        <LI><A 

⌨️ 快捷键说明

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