1 DSP编程技巧之14-揭开编译器神秘面纱之链接器的高级选项 - 我是大彭的博客 - 电子技术论坛 - 广受欢迎的专业电子论坛! - 德赢Vwin官网
注册 登录
电子技术论坛 返回首页

我是大彭的个人空间 https://bbs.elecfans.com/?1408181 [收藏] [复制] [分享] [RSS]

博客

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

已有 483 次阅读2014-7-24 14:53 | 编译器

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

本文引用地址:http://www.eepw.com.cn/article/249328.htm

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

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

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

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

  表1 符号选项


表2 实时运行环境选项

表3 链接时优化选项


表4 其它杂项


路过

雷人

握手

鲜花

鸡蛋
返回顶部