<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > DSP編程技巧之14-揭開編譯器神秘面紗之鏈接器的高級(jí)選項(xiàng)

          DSP編程技巧之14-揭開編譯器神秘面紗之鏈接器的高級(jí)選項(xiàng)

          作者:paradoxfx 時(shí)間:2014-07-07 來源:電子產(chǎn)品世界 收藏

            在對(duì)/的各個(gè)選項(xiàng)的分析中,我們多次提到了“符號(hào)(symbol)”這個(gè)概念,而調(diào)試的過程,往往也有個(gè)顯著的特點(diǎn),叫“符號(hào)調(diào)試”。每個(gè)可充定位目標(biāo)模塊都有一個(gè)符號(hào)表,它包含了模塊中所定義和使用的符號(hào)的信息。在的上下文中,有三種不同的符號(hào):

          本文引用地址:http://www.ex-cimer.com/article/249328.htm

            1. 在目標(biāo)模塊中定義,并能被其它模塊所引用的符號(hào)全局符號(hào)。全局符號(hào)對(duì)應(yīng)于非靜態(tài)的C函數(shù)以及被定義為不帶C static屬性的全局變量。

            2. 由其它模塊所定義,并在當(dāng)前目標(biāo)模塊中被引用的全局符號(hào),這些符號(hào)被定義為外部符號(hào)(external),對(duì)應(yīng)于定義為其它模塊中的C函數(shù)和變量。例如我們?cè)谝粋€(gè)C文件中使用extern來聲明某個(gè)在外部文件中定義的變量,這樣就可以跨文件使用這個(gè)全局變量的值。

            3. 只能被當(dāng)前目標(biāo)模塊定義和使用的本地符號(hào),它在當(dāng)前模塊中可見,但是在其它模塊中無法被引用。在編譯產(chǎn)生的目標(biāo)文件中,對(duì)應(yīng)于目標(biāo)模塊的段和相應(yīng)的源文件的名字也能獲得本地符號(hào)。

            了解了符號(hào)的詳細(xì)含義之后(這些內(nèi)容多少和計(jì)算機(jī)系統(tǒng)有些關(guān)系,推薦看一下《深入理解計(jì)算機(jī)系統(tǒng)》或者類似的書籍,可以加深了解),我們便來看一下與符號(hào)有關(guān)的鏈接器選項(xiàng),如表1所示。

            表1 符號(hào)選項(xiàng)


          表2 實(shí)時(shí)運(yùn)行環(huán)境選項(xiàng)

            
          表3 鏈接時(shí)優(yōu)化選項(xiàng)


          表4 其它雜項(xiàng)



          關(guān)鍵詞: DSP 編譯器 鏈接器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();