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

洛阳网站优化帮人做图挣外快的网站

洛阳网站优化,帮人做图挣外快的网站,WordPress 左边导航,如何学建设网站文章目录 上篇文章#xff1a;ARM 嵌入式 编译系列 10 – GCC 编译缩减可执行文件 elf 文件大小 接着上篇文章 ARM 嵌入式 编译系列 10 – GCC 编译缩减可执行文件 elf 文件大小 的介绍#xff0c;我们看下如何进一步缩小可执行文件test的大小。上篇文章通过 strip --strip-… 文章目录 上篇文章ARM 嵌入式 编译系列 10 – GCC 编译缩减可执行文件 elf 文件大小 接着上篇文章 ARM 嵌入式 编译系列 10 – GCC 编译缩减可执行文件 elf 文件大小 的介绍我们看下如何进一步缩小可执行文件test的大小。上篇文章通过 strip --strip-debug test 已经将 可执行文件 test 的大小从 17464减小到了15912 bytes 。 加下继续缩减就是删除 符号表了使用strip命令或者strip --strip-all命令 $ strip --strip-all test ls -rtl test -rwxrwxr-x 1 sam sam 14472 8月 14 12:34 test此时的可执行程序test已经从15912 bytes进一步减小到了14472bytes了。 此时符号表已经不在了 samsam-Think:~$ nm test nm: test: no symbolssymtab和strtab 2 个 section不见了section 从31个减少到了29个 samsam-Think:~$ readelf -S test There are 29 section headers, starting at offset 0x3148:Section Headers:[Nr] Name Type Address OffsetSize EntSize Flags Link Info Align[ 0] NULL 0000000000000000 000000000000000000000000 0000000000000000 0 0 0[ 1] .interp PROGBITS 0000000000000318 00000318000000000000001c 0000000000000000 A 0 0 1[ 2] .note.gnu.pr[...] NOTE 0000000000000338 000003380000000000000030 0000000000000000 A 0 0 8[ 3] .note.gnu.bu[...] NOTE 0000000000000368 000003680000000000000024 0000000000000000 A 0 0 4[ 4] .note.ABI-tag NOTE 000000000000038c 0000038c0000000000000020 0000000000000000 A 0 0 4[ 5] .gnu.hash GNU_HASH 00000000000003b0 000003b00000000000000024 0000000000000000 A 6 0 8[ 6] .dynsym DYNSYM 00000000000003d8 000003d800000000000000c0 0000000000000018 A 7 1 8[ 7] .dynstr STRTAB 0000000000000498 000004980000000000000094 0000000000000000 A 0 0 1[ 8] .gnu.version VERSYM 000000000000052c 0000052c0000000000000010 0000000000000002 A 6 0 2[ 9] .gnu.version_r VERNEED 0000000000000540 000005400000000000000030 0000000000000000 A 7 1 8[10] .rela.dyn RELA 0000000000000570 0000057000000000000000c0 0000000000000018 A 6 0 8[11] .rela.plt RELA 0000000000000630 000006300000000000000030 0000000000000018 AI 6 24 8[12] .init PROGBITS 0000000000001000 00001000000000000000001b 0000000000000000 AX 0 0 4[13] .plt PROGBITS 0000000000001020 000010200000000000000030 0000000000000010 AX 0 0 16[14] .plt.got PROGBITS 0000000000001050 000010500000000000000010 0000000000000010 AX 0 0 16[15] .plt.sec PROGBITS 0000000000001060 000010600000000000000020 0000000000000010 AX 0 0 16[16] .text PROGBITS 0000000000001080 00001080000000000000017b 0000000000000000 AX 0 0 16[17] .fini PROGBITS 00000000000011fc 000011fc000000000000000d 0000000000000000 AX 0 0 4[18] .rodata PROGBITS 0000000000002000 000020000000000000000055 0000000000000000 A 0 0 4[19] .eh_frame_hdr PROGBITS 0000000000002058 000020580000000000000044 0000000000000000 A 0 0 4[20] .eh_frame PROGBITS 00000000000020a0 000020a000000000000000ec 0000000000000000 A 0 0 8[21] .init_array INIT_ARRAY 0000000000003db0 00002db00000000000000008 0000000000000008 WA 0 0 8[22] .fini_array FINI_ARRAY 0000000000003db8 00002db80000000000000008 0000000000000008 WA 0 0 8[23] .dynamic DYNAMIC 0000000000003dc0 00002dc000000000000001f0 0000000000000010 WA 7 0 8[24] .got PROGBITS 0000000000003fb0 00002fb00000000000000050 0000000000000008 WA 0 0 8[25] .data PROGBITS 0000000000004000 000030000000000000000010 0000000000000000 WA 0 0 8[26] .bss NOBITS 0000000000004010 000030100000000000000008 0000000000000000 WA 0 0 1[27] .comment PROGBITS 0000000000000000 00003010000000000000002b 0000000000000001 MS 0 0 1[28] .shstrtab STRTAB 0000000000000000 0000303b000000000000010a 0000000000000000 0 0 1 能不能进一步缩减可执行文件的 size 呢 答案是肯定的。 上面 section中 .note.ABI-tag , .gnu.version ,.plt , .plt.got, .comment 都是可以移除移除后的信息如下 :~$ objcopy -R .note.ABI-tag -R .gnu.version -R .gnu.version_r -R .comment test :~$ nm test nm: test: no symbols :~$ readelf -S test There are 25 section headers, starting at offset 0x30e8:Section Headers:[Nr] Name Type Address OffsetSize EntSize Flags Link Info Align[ 0] NULL 0000000000000000 000000000000000000000000 0000000000000000 0 0 0[ 1] .interp PROGBITS 0000000000000318 00000318000000000000001c 0000000000000000 A 0 0 1[ 2] .note.gnu.pr[...] NOTE 0000000000000338 000003380000000000000030 0000000000000000 A 0 0 8[ 3] .note.gnu.bu[...] NOTE 0000000000000368 000003680000000000000024 0000000000000000 A 0 0 4[ 4] .gnu.hash GNU_HASH 00000000000003b0 000003b00000000000000024 0000000000000000 A 5 0 8[ 5] .dynsym DYNSYM 00000000000003d8 000003d800000000000000c0 0000000000000018 A 6 1 8[ 6] .dynstr STRTAB 0000000000000498 000004980000000000000094 0000000000000000 A 0 0 1[ 7] .rela.dyn RELA 0000000000000570 0000057000000000000000c0 0000000000000018 A 5 0 8[ 8] .rela.plt RELA 0000000000000630 000006300000000000000030 0000000000000018 AI 5 21 8[ 9] .init PROGBITS 0000000000001000 00001000000000000000001b 0000000000000000 AX 0 0 4[10] .plt PROGBITS 0000000000001020 000010200000000000000030 0000000000000010 AX 0 0 16[11] .plt.got PROGBITS 0000000000001050 000010500000000000000010 0000000000000010 AX 0 0 16[12] .plt.sec PROGBITS 0000000000001060 000010600000000000000020 0000000000000010 AX 0 0 16[13] .text PROGBITS 0000000000001080 00001080000000000000017b 0000000000000000 AX 0 0 16[14] .fini PROGBITS 00000000000011fc 000011fc000000000000000d 0000000000000000 AX 0 0 4[15] .rodata PROGBITS 0000000000002000 000020000000000000000055 0000000000000000 A 0 0 4[16] .eh_frame_hdr PROGBITS 0000000000002058 000020580000000000000044 0000000000000000 A 0 0 4[17] .eh_frame PROGBITS 00000000000020a0 000020a000000000000000ec 0000000000000000 A 0 0 8[18] .init_array INIT_ARRAY 0000000000003db0 00002db00000000000000008 0000000000000008 WA 0 0 8[19] .fini_array FINI_ARRAY 0000000000003db8 00002db80000000000000008 0000000000000008 WA 0 0 8[20] .dynamic DYNAMIC 0000000000003dc0 00002dc000000000000001f0 0000000000000010 WA 6 0 8[21] .got PROGBITS 0000000000003fb0 00002fb00000000000000050 0000000000000008 WA 0 0 8[22] .data PROGBITS 0000000000004000 000030000000000000000010 0000000000000000 WA 0 0 8[23] .bss NOBITS 0000000000004010 000030100000000000000008 0000000000000000 WA 0 0 1[24] .shstrtab STRTAB 0000000000000000 0000301000000000000000d7 0000000000000000 ls -rtl test -rwxrwxr-x 1 selab selab 14120 8月 14 12:44 test可以看到 test 可执行程序再次减小了从 14472bytes 减小到了 14120bytes, 到目前位置程序依然是可执行的 :~$ ./test I am main, I wll can foo I am foo,I will call bar I am barI will core dump Segmentation fault (core dumped)当然了这种操作其实没必要对于大型程序而言用 strip 移除符号表文件会变小很多但是用objcopy移除上面几个个 section节省不了多少空间。 到目前为止文件越来越小节省了大量的空间。现在我们把符号表移除了如果发生了coredump我们将无法定位信息 :~$ gdb -c /tmp/corefile/core.test.1691988924.1181895 Core was generated by ./test. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x000055621e1941ab in ?? () (gdb) bt #0 0x000055621e1941ab in ?? () #1 0x00007ffdc95cf768 in ?? () #2 0x0000000000000000 in ?? () (gdb)那么接下来如何处理呢 请见下篇文章。 上篇文章ARM 嵌入式 编译系列 10 – GCC 编译缩减可执行文件 elf 文件大小
http://www.pierceye.com/news/484702/

相关文章:

  • 网站开发设计比较好的公司电子烟网站设计
  • 群辉 wordpress套件阜阳网站优化
  • 如何做网站哪个站推广网站自助建设平台
  • 西安大网站建设公司排名沈阳网络维护公司
  • 个人建立一个网站要多少钱乔拓云h5制作
  • 蒙阴网站建设百度指数排名
  • 视频网站如何推广做模具做什么网站
  • 关于旅游的网站建设论文广州外贸网站建设公司价格
  • 怎么给自己制作一个网站wordpress 中文摘要
  • 如何看网站的ftp服装网站建设策划书3000字
  • 无锡网站建设 网站制作常见的网站首页布局有哪几种
  • 网站研发PHP MYSQL网站开发全程实
  • 简约型网站国外做电商平台的网站还有什么
  • 云南昆明网站建设公司jsp网站开发详解下载
  • 上海h5网站开发网站建设在开封找谁做
  • 滨海建设局官方网站营销网络平台
  • 中国小康建设网是骗子网站吗?建设宁波市分行的互联网网站
  • 制造网站建设自己做游戏资讯网站
  • 网站建设质量如何衡量都江堰网站开发
  • 企业网站设计步骤中山制作网站的公司
  • 通化网站制作企信网官网查询入口
  • 无锡装修网站百科网站推广
  • 先做网站后付款怎么做网站弹窗通知
  • php做网站的分站学校网站开发价格
  • 静态动漫网站模板个人网站空间大小
  • 个人网站 如何做推广拓者设计吧官方网站
  • 农产品电子商务网站建设要求开发一款app软件需要多少钱
  • 仿微博网站模板织梦网站地图怎么做xml
  • 什么网站能买建设摩托车产品推广计划方案
  • 建设局网站买卖合同大连 商城网站制作公司