GCC指定某個函式或某幾個函式的優化級別

2021-08-15 08:52:59 字數 1182 閱讀 3546

gcc可以使用attribute((optimize(「string」)))指定單個函式的優化級別,或者使用#pragma gcc optimize (「string」…)指定該語句之下的所有函式的優化級別。

mingu.zhengatgmail dot com

有些時候會希望某個函式或者某幾個函式和其他的函式採取不同的優化級別,比如為了除錯方便,或者為了避免編譯亂序。這時候可以使用gcc的兩個特性來完成。attribute((optimize(「string」)))可以指定單個函式的優化級別,如果有多個函式要指定的話,可以重複使用attribute((optimize(「string」))),或者使用#pragma gcc optimize (「string」…),#pragma gcc optimize (「string」…)語句下部的所有函式將使用該語句指定的優化級別。

attribute((optimize(「string」)))的例子,add函式使用o0優化級別,sub函式使用o2優化級別。

// 首先用__attribute__宣告函式

intadd

(int a,

int b)

__attribute__((

optimize

("o0"))

);// 然後再定義函式,宣告和定義必須分開,否則編譯錯誤

intadd

(int a,

int b)

intsub

(int a,

int b)

__attribute__((

optimize

("o2"))

);intsub

(int a,

int b)

pragma gcc optimize (「string」…)的例子,pragma語句下面的add和sub函式都使用o3優化級別。pragma語句上面的div函式使用命令列指定的優化級別。

int

div(

int a,

int b)

#pragma gcc optimize ("o3")

intadd

(int a,

int b)

intsub

(int a,

int b)

指定某個函式或變數存放的位址

也許你看過一些文章,裡面介紹了一大堆內容,甚至於還會介紹分散載入檔案的配置。但是絕大多數情況下,為了實現這麼乙個簡單的功能,還要學太多東西,是不是一下就懵了?那麼,請繼續往下看吧。這篇文章會教你一種非常簡單的方法,一看就會。只需要使用 attribute section arm.at address...

jquery查詢指定id元素下的某個或某些元素

find用法 1.為什麼要用find 通常,選擇乙個元素很簡單,id 就可以搞定,但是如果想選擇某個id為x1的div下的某個id為x2的元素就很困難了,可以通過用find來解決這個問題。2.find怎麼用 首先貼出api中find的構造方法 find expr obj ele 返回值 jquery...

設定N秒後執行某個方法或函式

設定n秒後執行乙個函式,最常用的是設定乙個定時器,今天剛看到有這樣乙個函式,感覺還是比較簡單實用的,就先記下來,免得忘記了。5秒後執行pushsecondcontroller這個函式 self performselector selector pushsecondcontroller withobj...