<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

編譯器優化對函數的影響

如意 ? 來源:CSDN ? 作者:CaspianSea ? 2020-06-22 14:58 ? 次閱讀

編譯器如gcc,可以指定不同的優化參數,在某些條件下,有些函數可能會被優化掉。

先寫一個簡單的測試文件:

編譯器優化對函數的影響

用命令

gcc -g -c test.c

編譯成目標文件。

用 nm檢查函數符號:

$ nm -C test.o

00000000 T foo

現在使用 命令

gcc -g -c -O2 test.c

重新編譯。

再用 nm檢查:

$ nm -C test.o

00000000 T foo

還是能找到函數 foo.

這表明foo沒有被優化掉

現在把函數 foo改成靜態函數:

編譯器優化對函數的影響

使用 -O2編譯,然后用 nm查找,會發現,此時 foo符號找不到了。

可見,靜態函數有可能會被GCC優化掉。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 優化
    +關注

    關注

    0

    文章

    218

    瀏覽量

    23730
  • 函數
    +關注

    關注

    3

    文章

    4073

    瀏覽量

    61402
  • 編譯器
    +關注

    關注

    1

    文章

    1579

    瀏覽量

    48700
收藏 人收藏

    評論

    相關推薦

    KEIL怎么禁止某個函數/某段代碼被編譯器優化?

    有沒有大佬知道,KEIL怎么禁止某個函數/某段代碼 被編譯器優化?
    發表于 04-10 08:17

    Keil編譯器優化問題

    大家好,我在使用單片機程序編譯過程中,碰到了一些問題,懇請高手回答。具體描述如下: 當使用keil編譯器編譯過程中,設置為8級優化,產生的燒寫文件,就可以在硬件平臺上正常運行。但是如果
    發表于 12-18 16:39

    stm32編譯器優化

    #550-D: variable "d" was set but never used描述:變量'd'定義但從未使用,或者是,雖然這個變量你使用了,但編譯器認為變量d所在的語句沒有意義,編譯器把它優化了.解決:仔細衡量
    發表于 08-24 07:46

    ARM編譯器優化版本1.0

    ARM編譯器armcc可以優化您的代碼以實現小代碼和高性能。 本教程介紹了編譯器執行的主要優化技術,并解釋了如何控制編譯器
    發表于 08-28 07:11

    SIMD計算機的優化編譯器設計

    利用處理器的相關資源,提高編譯器優化性能和增強代碼可適應性是SIMD處理器優化編譯的關鍵。該文基于M語言和LS SIMD體系結構,結合現代編譯器
    發表于 04-03 08:47 ?30次下載

    編譯器_keil的優化選項問題

    keil編譯器優化選項針對ARM,對STM32編譯的一些優化的問題
    發表于 02-25 14:18 ?3次下載

    CodeVsionAVR編譯器常用庫函數簡介

    CodeVsionAVR編譯器常用庫函數簡介,很好的Proteus資料,快來下載學習吧。
    發表于 04-18 14:35 ?0次下載

    PICC編譯器的庫函數詳解

    本章將詳細列出PICC編譯器的庫函數。每個函數均從函數名開始,然后按照以下幾個標題給出詳細解釋。
    發表于 10-14 14:17 ?0次下載

    C編譯器及其優化

    本章將幫助讀者在ARM處理器上編寫高效的C代碼。本章涉及的一些技術不僅適用于ARM處理器,也適用于其他RISC處理器。本章首先從ARM編譯器及其優化入手,講解C編譯器優化代碼時所碰到
    發表于 10-17 17:22 ?2次下載

    如何使用英特爾編譯器優化Fortran、C和C ++

    了解如何使用適用于Fortran *,C和C ++的英特爾?編譯器優化一些困難的循環。 示例選自經典的netlib.org矢量基準測試,這些測試不是由當前的英特爾編譯器自動優化的,但
    的頭像 發表于 11-08 06:02 ?2949次閱讀

    關于volatile關鍵字對編譯器優化的影響

    volatile關鍵字對編譯器優化的影響
    的頭像 發表于 02-28 17:15 ?2669次閱讀

    控制IRQ和FIQ中斷的編譯器內部函數 基于Keil MDK

    控制IRQ和FIQ中斷的編譯器內部函數 - 基于Keil MDK
    的頭像 發表于 02-29 16:45 ?2095次閱讀

    虛擬機:編譯器對C函數的名字修飾

    虛擬機:編譯器對C函數的名字修飾
    的頭像 發表于 06-22 11:44 ?2378次閱讀
    虛擬機:<b class='flag-5'>編譯器</b>對C<b class='flag-5'>函數</b>的名字修飾

    深度學習編譯器之Layerout Transform優化

    繼續深度學習編譯器優化工作解讀,本篇文章要介紹的是OneFlow系統中如何基于MLIR實現Layerout Transform。
    的頭像 發表于 05-18 17:32 ?444次閱讀

    編譯器優化選項

    一個程序首先要保證正確性,在保證正確性的基礎上,性能也是一個重要的考量。要編寫高性能的程序,第一,必須選擇合適的算法和數據結構;第二,應該編寫編譯器能夠有效優化以轉換成高效可執行代碼的源代碼,要做到
    的頭像 發表于 11-24 15:37 ?447次閱讀
    <b class='flag-5'>編譯器</b>的<b class='flag-5'>優化</b>選項
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>