微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > DSP编程技巧-揭开编译器神秘面纱之链接器的高级选项

DSP编程技巧-揭开编译器神秘面纱之链接器的高级选项

时间:12-21 来源:互联网 点击:
  在对编译器/链接器的各个选项的分析中,我们多次提到了“符号(symbol)”这个概念,而DSP调试的过程,往往也有个显著的特点,叫“符号调试”。每个可充定位目标模块都有一个符号表,它包含了模块中所定义和使用的符号的信息。在链接器的上下文中,有三种不同的符号:

  1. 在目标模块中定义,并能被其它模块所引用的符号全局符号。全局链接器符号对应于非静态的C函数以及被定义为不带C static属性的全局变量

  2. 由其它模块所定义,并在当前目标模块中被引用的全局符号,这些符号被定义为外部符号(external),对应于定义为其它模块中的C函数和变量。例如我们在一个C文件中使用extern来声明某个在外部文件中定义的变量,这样就可以跨文件使用这个全局变量的值。

  3. 只能被当前目标模块定义和使用的本地符号,它在当前模块中可见,但是在其它模块中无法被引用。在编译产生的目标文件中,对应于目标模块的段和相应的源文件的名字也能获得本地符号。

  了解了符号的详细含义之后(这些内容多少和计算机系统有些关系,推荐看一下《深入理解计算机系统》或者类似的书籍,可以加深了解),我们便来看一下与符号有关的链接器选项,如表1所示。

  表1 符号选项


表2 实时运行环境选项

  
表3 链接时优化选项


表4 其它杂项

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top