[英]GCC 4.8.1 compile time in C99 code with many macros and inline functions
[英]Inline all the functions in C code with gcc
我有許多沒有遞歸的C程序。 我想獲取沒有用戶定義功能但主要功能的程序。 GCC可以內聯,但是處於IR級別,因此我無法獲得C代碼。
資源:
int calc(int a , int b)
{
a=a+b-2;
return a ;
}
int main()
{
int x=4,y=7;
x=calc(x,y);
return 0 ;
}
目標:
int main()
{
int x=4,y=7;
int calc_A=x,calc_B=y;
calc_A=calc_A+calc_B-2;
x=calc_A;
return 0 ;
}
gcc提供了一個函數屬性,稱為always_inline
。
用法:
int add(int arg1, int arg2)__attribute__((always_inline)); // prototype
int add(int arg1, int arg2){
return arg1+arg2;
}
但是,您必須手動將此屬性附加到每個函數。
我仍然假設您的所有功能都遵循內聯所必需的規則。 例如,沒有goto,遞歸等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.