gcc 最適化オプションの処理
-O -O1
・同一定数の集約、ループの最適化、関数呼び出しのグループ化などで
プログラムを小さく、速くする
-O2
・-O1の技法のほか、共通部分の除去、命令順序の変更による、
メモリとレジスタ間のデータ転送時間の削減などを行う。
・サイズと実行速度のトレードオフを含まない、最適化を行う
-O3
・-O2 最適化に加え、インライン関数の生成などを行う
-O4
・サイズの最適化を行う
Hello world
1. サンプル
#include <stdio.h>
int main(void){
printf("Hello world");
return(0) ;
}
2.実行結果
Hello world
が表示されます。
変数の値を交換する
1.アリゴリズム
値を交換したい変数を、i , j とすると
(1)iの値を、別の変数へ入れる
(2)jの値を、iへ入れる
(3)(1)で別の変数に入れた値を、jへ入れる
2.サンプル
#include <stdio.h>
main()
{
int i , j , tmp ;
i = 0 ;
j = 999 ;
/* 出力 */
printf("交換前 i=%d, j=%d \n", i, j);
/* 交換 */
tmp = i ;
i = j ;
j = tmp ;
/* 出力 */
printf("交換後 i=%d, j=%d\n", i, j);
}
実行結果は、次のようになります。
交換前 i=0, j=999
交換後 i=999, j=0
printf("交換前 i=%d, j=%d \n", i, j);
/* 交換 */
tmp = i ;
i = j ;
j = tmp ;
/* 出力 */
printf("交換後 i=%d, j=%d\n", i, j);
}
3.実行結果
実行結果は、次のようになります。
交換前 i=0, j=999
交換後 i=999, j=0
0 件のコメント:
コメントを投稿