C言語100本ノック

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);
}

3.実行結果


実行結果は、次のようになります。

交換前 i=0, j=999

交換後 i=999, j=0


0 件のコメント:

コメントを投稿

クロニクル MacでIntelliJ

 1. IntelliJ IDEA Community Editionのダウンロードとインストール 1-1.ダウンロード: Mac用のCommunity Edition(無料版)を選択し、**.dmg**ファイルをダウンロードします。 ここからダウンロードしました。 https:...