当前位置: 首页 > news >正文

深圳网页设计制作网站公司邮箱后缀有哪些

深圳网页设计制作网站,公司邮箱后缀有哪些,深圳航空公司官网首页,海淀区手机网站制作服务特殊属性声明GNU C 允许声明函数、变量和类型的特殊属性#xff0c;以便进行手工的代码优化和定制。如果要指定一个属性声明#xff0c;只需要在声明后添加__ attribute __((ATTRIBUTE))。其中ATTRIBUTE为属性说明#xff0c;如果存在多个属性#xff0c;则以逗号分隔。GNU…特殊属性声明GNU C 允许声明函数、变量和类型的特殊属性以便进行手工的代码优化和定制。如果要指定一个属性声明只需要在声明后添加__ attribute __((ATTRIBUTE))。其中ATTRIBUTE为属性说明如果存在多个属性则以逗号分隔。GNU C 支持noreturnnoinline always_inline pure const nothrow format format_arg no_instrument_function section constructor destructor used unused deprecated weak malloc alias warn_unused_result nonnull等十个属性。noreturn属性作用于函数表示该函数从不返回。这会让编译器优化代码并消除不必要的警告信息。例如 #define ATTRIB_NORET __attribute__((noreturn)) ....asmlinkage NORET_TYPE void do_exit(long error_code) ATTRIB_NORET;packed属性作用于变量和类型用于变量或结构域时表示使用最小可能的对齐用于枚举、结构或联合类型时表示该类型使用最小的内存。如对于结构体就是它告诉编译器取消结构在编译过程中的优化对齐按照实际占用字节数进行对齐。例如 struct example_struct{char a;int b;long c;} __attribute__((packed));regparm属性用于指定最多可以使用n个寄存器(eax, edx, ecx)传递参数n的范围是0~3超过n时则将参数压入栈中(n0表示不用寄存器传递参数)。注意以上这些属性都是在X86处理器体系结构下的在X64体系结构下大部分内容都是同样有效的。但是这里要注意regparm属性由于在X64体系结构下GUN C的默认调用约定使用寄存器传递参数。所以如果regparm属性里使用的寄存器个数超过3个也仍然会使用其他寄存器来传递参数。这一点要遵循X64体系结构的调用约定。下面可以看一个例子。 int q 0x5a;int t1 1;int t2 2;int t3 3;int t4 4;#define REGPARM3 __attribute((regparm(3)))#define REGPARM0 __attribute((regparm(0)))void REGPARM0 p1(int a){q a 1;}void REGPARM3 p2(int a, int b, int c, int d){q a b c d 1;}int main(){p1(t1);p2(t1,t2,t3,t4);return 0;}使用objdump命令反汇编相关命令如下 objdump -D 可执行程序其中-D选项用于反汇编所有的程序段包括代码段、数据段、只读数据段以及一些系统段等等。而-d命令只反汇编代码段的内容。反汇编后的关键代码如下 Disassembly of section .text:0000000000400474 :400474: 55 push %rbp400475: 48 89 e5 mov %rsp,%rbp400478: 89 7d fc mov %edi,-0x4(%rbp)40047b: 8b 45 fc mov -0x4(%rbp),%eax40047e: 83 c0 01 add $0x1,%eax400481: 89 05 3d 04 20 00 mov %eax,0x20043d(%rip) # 6008c4 400487: c9 leaveq400488: c3 retq0000000000400489 :400489: 55 push %rbp40048a: 48 89 e5 mov %rsp,%rbp40048d: 89 7d fc mov %edi,-0x4(%rbp)400490: 89 75 f8 mov %esi,-0x8(%rbp)400493: 89 55 f4 mov %edx,-0xc(%rbp)400496: 89 4d f0 mov %ecx,-0x10(%rbp)400499: 8b 45 f8 mov -0x8(%rbp),%eax40049c: 8b 55 fc mov -0x4(%rbp),%edx40049f: 8d 04 02 lea (%rdx,%rax,1),%eax4004a2: 03 45 f4 add -0xc(%rbp),%eax4004a5: 03 45 f0 add -0x10(%rbp),%eax4004a8: 83 c0 01 add $0x1,%eax4004ab: 89 05 13 04 20 00 mov %eax,0x200413(%rip) # 6008c4 4004b1: c9 leaveq4004b2: c3 retq00000000004004b3 :4004b3: 55 push %rbp4004b4: 48 89 e5 mov %rsp,%rbp4004b7: 53 push %rbx4004b8: 8b 05 0a 04 20 00 mov 0x20040a(%rip),%eax # 6008c8 4004be: 89 c7 mov %eax,%edi4004c0: e8 af ff ff ff callq 400474 4004c5: 8b 0d 09 04 20 00 mov 0x200409(%rip),%ecx # 6008d4 4004cb: 8b 15 ff 03 20 00 mov 0x2003ff(%rip),%edx # 6008d0 4004d1: 8b 1d f5 03 20 00 mov 0x2003f5(%rip),%ebx # 6008cc 4004d7: 8b 05 eb 03 20 00 mov 0x2003eb(%rip),%eax # 6008c8 4004dd: 89 de mov %ebx,%esi4004df: 89 c7 mov %eax,%edi4004e1: e8 a3 ff ff ff callq 400489 4004e6: b8 00 00 00 00 mov $0x0,%eax4004eb: 5b pop %rbx4004ec: c9 leaveq4004ed: c3 retq4004ee: 90 nop4004ef: 90 nopDisassembly of section .data:00000000006008c0 __data_start:6008c0: 00 00 add %al,(%rax)...00000000006008c4 :6008c4: 5a pop %rdx6008c5: 00 00 add %al,(%rax)...00000000006008c8 :6008c8: 01 00 add %eax,(%rax)...00000000006008cc :6008cc: 02 00 add (%rax),%al...00000000006008d0 :6008d0: 03 00 add (%rax),%eax...00000000006008d4 :6008d4: 04 00 add $0x0,%al...如果读者还记得2.2.3节中关于GCC基于X64体系结构的调用约定的话那就很容易可以看出函数p1和p2都使用寄存器传递参数顺序就是RDI RSI RDX RCX这些细节已经跟regparm的规定完全不一致了。所以在这里作者觉得regparm已经不起作用了。
http://www.zqtcl.cn/news/882649/

相关文章:

  • 兴宁电子商务网站建设网站模板在线制作
  • 汕头整站优化营销推广网
  • 云服务器搭建网站教程加盟教育培训机构
  • 建筑网站设置工资单人换了怎么换太原做网站找谁
  • 网站做推广需要什么条件重庆网站推广哪家服务好
  • 怎样做理财网站wordpress做产品页教程视频
  • 官网模板建站塔山双喜北京网站建设兴田德润官网多少
  • 网站优化推广外包深圳专业网站建设定制
  • 网站开发aichengkeji元凤建盏简介
  • 移动端网站怎么制作asp做的网站如何发布
  • 做的网站用户密码在哪里找凡科申请的网站和qq空间一样吗
  • 如何自己做网站发布到服务器上面wordpress没有幻灯片
  • 闽侯县建设局网站企业建设网站例文
  • 家居类企业响应式网站搭建电商系统
  • 临沂哪里做网站比较好中国建设银行企业信息门户网站
  • 低价建网站提高网站订单转化率
  • 家居网站应该怎么做网站seo推广软件
  • 旅游网站建设报告关键词优化排名价格
  • 上海网站开发caiyiduo微信建微网站
  • 做网站和做网店哪个好用cms做单页网站怎么做
  • 阿里云有主体新增网站可以免费制作网页的网站
  • 网站备案幕布拍照是什么莱芜网络推广公司服务
  • 招个网站建设维护国家高新技术企业官网
  • 建设医疗网站做企业官网哪家公司好
  • 网站建设常见问题及解决办法站长网站大全
  • 二手网站建设模块500做网站
  • 建设展示型网站公司哪家好广告制作费和广告服务费区别
  • 网站排版设计欣赏网站建设制作设计seo优化南宁
  • 长春网站建设公司十佳wordpress在哪注册
  • 手机号码定位网站开发世界知名外贸网站