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

厦门网站流量优化价格石家庄业之峰装饰公司怎么样

厦门网站流量优化价格,石家庄业之峰装饰公司怎么样,网站建设南宁,互联网招聘网站排名文章目录 什么是符号表符号表的作用是什么如何生成符号表符号表中的数据类型有哪些#xff1f;符号表与map文件什么关系#xff1f; 上篇文章#xff1a;ARM 嵌入式 番外篇 编译系列 8 – RT-Thread 编译命令 Scons 详细讲解 什么是符号表 在 ARM GCC 中#xff0c;符号表… 文章目录 什么是符号表符号表的作用是什么如何生成符号表符号表中的数据类型有哪些符号表与map文件什么关系 上篇文章ARM 嵌入式 番外篇 编译系列 8 – RT-Thread 编译命令 Scons 详细讲解 什么是符号表 在 ARM GCC 中符号表Symbol Table是一个记录了代码中所有符号信息的数据结构。符号可以是变量、函数、宏、类型等标识符。符号表中的每个符号都有一个唯一的名称并且与该符号关联的还有符号的地址、类型、大小等信息。 符号表的作用是什么 符号表在编译过程中起着重要的作用。它允许编译器在编译期间解析和处理各种符号引用。在链接过程中链接器使用符号表来解析符号的引用和重定位地址以便正确地将程序的各个部分连接在一起。 如何生成符号表 在 GCC 中你可以使用 -g 选项生成调试信息其中包括符号表。这个符号表通常以一种特定的格式如 ELF 格式存储在可执行文件或库文件中。调试器可以使用这个符号表来显示和查询程序中的符号信息以便在调试时定位问题或查看变量值和函数调用栈等。 使用nm命令或者objdump命令来生成符号表。 以下是具体步骤 使用带有-g选项的arm-gcc编译你的代码。例如 arm-none-eabi-gcc -g -o output.elf input.c这会生成一个名为output.elf的二进制文件它包含了调试信息。 使用nm或objdump命令生成符号表。例如 arm-none-eabi-nm -n output.elf symbol_table.txt输入内容如下 arm-none-eabi-nm -n soc.oU __bss_endU __bss_startU clock_framework_initU _edataU _estackU _etextU get_syscnt_usU _heap_endU _heap_startU rt_components_board_initU rt_console_set_deviceU rt_hw_interrupt_initU rt_kprintfU rt_system_heap_initU rt_tick_increaseU _sdataU _sstackU _stext 00000000 T baud_rate_fixup 00000000 t ctrlg_key_dis 00000000 R __fsym___cmd_reboot 00000000 R __fsym___cmd_reboot_name 00000000 T get_ref_clk 00000000 W get_sys_clock 00000000 t lock_crg_key或者 arm-none-eabi-objdump -t output.elf symbol_table.txt这将会生成一个名为symbol_table.txt的文件里面包含了符号表信息。 输处内容如下 arm-none-eabi-objdump -t soc.osoc.o: file format elf32-littlearmSYMBOL TABLE: 00000000 l df *ABS* 00000000 soc.c 00000000 l d .text 00000000 .text 00000000 l d .data 00000000 .data 00000000 l d .bss 00000000 .bss 00000000 l d .text.__NVIC_SetPriority 00000000 .text.__NVIC_SetPriority 00000000 l F .text.__NVIC_SetPriority 00000054 __NVIC_SetPriority 00000000 l d .text.SCB_EnableICache 00000000 .text.SCB_EnableICache 00000000 l F .text.SCB_EnableICache 0000004c SCB_EnableICache 00000000 l d .text.SCB_EnableDCache 00000000 .text.SCB_EnableDCache 00000000 l F .text.SCB_EnableDCache 00000088 SCB_EnableDCache 00000000 l d .text.SysTick_Config 00000000 .text.SysTick_Config 00000000 l F .text.SysTick_Config 00000044 SysTick_Config ... 00000000 l d .text.lock_crg_key 00000000 .text.lock_crg_key 00000000 l F .text.lock_crg_key 00000024 lock_crg_key 00000000 l d .text.reboot 00000000 .text.reboot 00000000 l F .text.reboot 00000030 reboot 00000000 l d .rodata.name 00000000 .rodata.name 00000000 l d FSymTab 00000000 FSymTab 00000000 l d .text.get_ref_clk 00000000 .text.get_ref_clk 注意请将上述命令中的arm-none-eabi-gcc、arm-none-eabi-nm和arm-none-eabi-objdump替换成你的工具链中的实际命令。 符号表中的数据类型有哪些 在ARM GCC生成的符号表中常见的数据类型标识有以下几种 T 或 t表示该符号是在text代码段定义的函数或者其他符号D 或 d表示该符号是在数据段定义的已初始化数据B 或 b表示该符号是在BSS段定义的未初始化数据C表示该符号是通用符号U表示该符号在其他文件中定义即未定义W表示该符号是弱符号可能在其他文件中被重定义N表示该符号是debugging symbol.。 注意: 大写字母表示全局符号小写字母表示局部符号。 符号表与map文件什么关系 符号表和map文件都是在编译链接过程中生成的输出文件主要用于程序调试和分析。它们之间的关系和区别如下 符号表Symbol Table符号表是在编译过程中生成的主要包含了源代码中定义的函数和变量的信息如名称、类型、大小、地址等。通过查看符号表我们可以看到源代码中每个符号在编译后的具体信息便于我们在调试过程中定位和解决问题。 Map文件Map文件是在链接过程中生成的主要包含了各个目标文件和库文件在链接过程中的地址分配情况以及程序的内存布局等信息。通过查看Map文件我们可以看到程序的具体内存布局便于我们理解程序的运行过程和优化程序的内存使用。 因此符号表和Map文件虽然都包含了程序的符号信息但它们的生成过程和主要用途是不同的一般来说符号表主要用于程序调试而Map文件主要用于程序分析和优化。 上篇文章ARM 嵌入式 番外篇 编译系列 8 – RT-Thread 编译命令 Scons 详细讲解
http://www.w-s-a.com/news/965908/

相关文章:

  • 郑州it培训机构有哪些上海外贸网站seo
  • dw做网站的实用特效广东住房与城乡建设厅网站
  • 模板网站 动易哪方面的网站
  • 怎么给网站做外链邵连虎郑州做网页的公司
  • 重庆网站开发哪家好宁波网站建设caiyiduo
  • 手机网站建设价格手机网站模版更换技巧
  • 哈尔滨松北区建设局网站美妆网站建设
  • 不需要网站备案的空间网站推广的基本方法是哪四个
  • 如何检查网站死链劳动仲裁院内部网站建设
  • 江西省住房和城乡建设网站合同管理系统
  • 网站建设质量保证福州网络推广
  • 高唐网站建设公司广州南站在哪个区
  • 广西柳州网站制作公司郴州网红打卡景点
  • 做网站要固定ip拍摄公司宣传片制作
  • 专业微网站电话号码做软件难吗
  • 邢台网站制作哪家强上海做网站设计
  • 大连网站建设外贸wordpress添加文章属性
  • 商城网站建设合同范本网上哪里可以免费学编程
  • 服务器公司网站博客wordpress怎么编辑
  • 网站建设网络推广柯西乡塘网站建设
  • 企业做网站需要多少钱企业资质查询系统官网
  • 网站建设需要知识百度统计数据
  • 自已如何做网站建设通网站会员共享密码
  • 做网站学习什么wordpress 文件夹
  • 前端移动网站开发wordpress图文混排
  • 企业网站建站那种好商城类网站怎么优化
  • 手机微网站怎么制作的网上找设计师
  • 网站建设包括哪些方面学校网站 建设
  • 贵阳网站优化公司建筑设计师用什么软件
  • 网站建设的小说静态网页模板免费网站