×
嵌入式 > 嵌入式开发 > 详情

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

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

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

本文引用地址:/zixunimg/eepwimg/www.eepw.com.cn/article/201612/332402.htm

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

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

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

表1 符号选项


表2 实时运行环境选项


表3 链接时优化选项


表4 其它杂项



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
发明专利在疫情影响下的逆势增长