当前位置:  技术问答>linux和unix

请高手来解释下 此error

    来源: 互联网  发布时间:2016-10-31

    本文导语:  check_asm asmalign_pot ".align 3" check_as BEGIN /tmp/ffconf.KJK11117.c     1   void foo(void){ __asm__ volatile(".align 3"); } END /tmp/ffconf.KJK11117.c gcc -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -fPIC -g -...

check_asm asmalign_pot ".align 3"
check_as
BEGIN /tmp/ffconf.KJK11117.c
    1   void foo(void){ __asm__ volatile(".align 3"); }
END /tmp/ffconf.KJK11117.c
gcc -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -fPIC -g -c -o /tmp/ffconf.Rsc11126.o /tmp/ffconf.KJK11117.c
/tmp/ffconf.KJK11117.c: Assembler messages:

/tmp/ffconf.KJK11117.c:1: Error: alignment not a power of 2 

有点看不大懂 __asm__ volatile(".align 3"); 这句是什么意思 

__asm__ volatile 这个是宏吗?做什么用的

.align 3 这个参数传进去干什么的

环境: RHEL 5.4 gcc 4.6.0 

|

__asm__ volatile()
这个是gcc中,嵌入汇编代码的写法。其中volatile用作禁止编译器优化。

.align是一个汇编指示符。是AT&T格式汇编中的内容,表示对齐。我看了LZ代码的上下文,估计这里是希望按照8字节边界对齐。我记得,gcc中使用的这个.align n,它所代的参数有2种解释。第一种是2的n次方,也就是地址最后n位必须为0。第二种,表示字节数。似乎,gcc的各个版本中,要么采取第一种解释,要么第二种。因此算是有歧义的。

既然,.align 3被认为是错误了。建议楼主使用.align 8试试看,也许这个版本的gcc采用了第二种解释。

这里写的内容完全凭影像,没有去查,建议楼主查查gcc手册,和AT&T汇编的相关文档。

    
 
 

您可能感兴趣的文章:

  • 高手帮忙解释
  • 哪位高手能替兄弟解释一下,Struts是怎么回事?
  • 项目中需要读写条形码,哪位高手给解释一下
  • 请高手帮我解释一下这段代码!!!
  • 哪位高手可以解释下Linux的消息机制吗?谢谢
  • VMWare下的给虚拟机添加串口的问题?菜鸟请高手解释
  • 高手请解释一下什么是“添加到主机路由”
  • 哪位高手能解释下gmake 的depend命令
  • 我是新学者,那位高手能解释一下什么是挂载点?它又有什么作用?
  • 一个UNIX操作系统是由那些部门组成的呢?高手详细解释给我
  • 奇怪的日期问题,请高手解释
  • 请高手为我解释一下
  • 请高手帮忙解释一下,insmod ./$module.ko || exit 1中的“||”是什么意思啊,多谢!
  • red hat5 + VMware5 配置samba服务器, 求高手解释
  • 请斑竹和高手们帮我解释一下:范式中的*的作用!感激不尽
  • 请教内核高手,抽空解释一下系统中断调用处理流程
  • 关于"symbol lookup error"问题的诡异现象,高手帮忙解释解释
  • 哪位C语言高手帮我解释下下面程序的运行结果 ???????
  • 请那位高手详细解释一下wait函数的用法和意义?
  • 读PCI时有段代码不懂,请高手解释一下
  • GRUB Hard Disk Error,望高手指教!!!
  • linux运行eclipse就会弹出一个error,求高手解决
  • 高手请进:linux下,安装bugzila时,出现make error 1。
  • 急!!高手请进:linux下,安装bugzila时,出现make error 1。
  • Gdk-ERROR,请高手帮忙
  • 在linux下安装oracle时,使用sysctl检查系统参数时出现许多error信息,不知道怎么回事,望高手指点!
  • 求UNIX高手,make编译出错,make:*** [xxxx] error 1
  • 是高手就进来帮帮忙!ARM9(2440)多线程串口编程,运行错误:__gnu_cxx::__concurrence_broadcast_error
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高手,高手,高高手请进!
  • 有熟悉EXIM的高手高手么??
  • to 高手:学java应该怎样一步步学习,从菜鸟到高手.
  • 高分请高手,高手定能解决
  • 请问高手在linux中用什么命令可以做linux的启动盘???在等待高手??
  • 有高手研究Agent++麽?里面有个thread.h,蛮难读的,请高手指点
  • 难道高手区里的人就是高手?
  • 在dos下用bc31挑战高手******开发mssql程序,连接时报link err:undefined symbol GETNOTE in module DBEXTERN?(挑战高手)
  • 真正的linux高手,请看过来,看你符合高手标准不?
  • 难道这没有高手吗?难道这没有乐于助人的高手?(高分酬谢62+50+50)
  • 关于我对linux高手用yum,非高手用源码的理由
  • 高手救命,很急——ORACLE817安装在UNIXWARE711上,手工启动数据库后在netasst中连接错误,高手帮我看看?
  • 请教高手lvs的奇怪问题,我挺着急,希望高手别潜水,就就我,先谢谢了
  • 各个高手看看这个问题!本人第一次学习java所以要各位高手的帮助。。
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 我是新手,高手,高手,快来救我
  • EJB问题,请教高手(非高手莫进)
  • 请各位JAVA高手,网业高手看过来,我把能给的分都送出!!!只能给37分,哎!!
  • eWEEK沙龙征集高手座谈


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3