在对编译器/链接器的各个选项的剖析中,咱们屡次提到了“符号(symbol)”这个概念,而DSP调试的进程,往往也有个明显的特色,叫“符号调试”。每个可充定位方针模块都有一个符号表,它包含了模块中所界说和运用的符号的信息。在链接器的上下文中,有三种不同的符号:
1. 在方针模块中界说,并能被其它模块所引证的符号大局符号。大局链接器符号对应于非静态的C函数以及被界说为不带C static特点的大局变量。
2. 由其它模块所界说,并在当时方针模块中被引证的大局符号,这些符号被界说为外部符号(external),对应于界说为其它模块中的C函数和变量。例如咱们在一个C文件中运用extern来声明某个在外部文件中界说的变量,这样就能够跨文件运用这个大局变量的值。
3. 只能被当时方针模块界说和运用的本地符号,它在当时模块中可见,但是在其它模块中无法被引证。在编译发生的方针文件中,对应于方针模块的段和相应的源文件的姓名也能取得本地符号。
了解了符号的具体意义之后(这些内容多少和计算机体系有些联系,引荐看一下《深化了解计算机体系》或许相似的书本,能够加深了解),咱们便来看一下与符号有关的链接器选项,如表1所示。
表1 符号选项
表2 实时运转环境选项
表3 链接时优化选项
表4 其它杂项