円周率の計算

CLI で 正多角形で円周率を計算 を動かします。
CLI を使えば「ソースプログラム一本」だけで動きます。

前田稔の超初心者のプログラム入門

プロジェクトの設定

  1. C:\DATA\Cpp\BAT\Console に Pai.cpp を utf-8(BOM 有り)でタイプして格納して下さい。
    専用のエディッタを使わない時は、メモ帳を使ってタイプして下さい。
    /*★ 円に内接する正六角形から円周率を計算する     前田  稔 ★*/
    #include <stdio.h>
    #include <math.h>
    
    //★ MAIN PROGRAM
    int  main()
    {   double  kaku,len,ht,l2,hw;
        int     i;
    
        kaku= 6.0;
        len= 1.0;
        for(i=0; i<15; i++)
        {   printf("正多角形=%f    LEN=%f    PAI=%f\n",kaku,len,len*kaku/2.0);
            l2= len/2.0;
            ht= sqrt(1.0-l2*l2);
            hw= 1.0-ht;
            len= sqrt((hw*hw)+(l2*l2));
            kaku= kaku+kaku;
        }
        return(0);
    }
    
  2. スタートメニューから[すべてのプログラム][Visual C++ 2005 Express Edition][Visual Studio Tools] [Visual Studio 2005 コマンド プロンプト] から起動します。
  3. 次のコマンドをタイプして下さい。
    C:\Users\maeda>CD C:\DATA\Cpp\BAT\Console
    C:\DATA\Cpp\BAT\Console>CL Pai.cpp
    C:\DATA\Cpp\BAT\Console>Pai.exe
    
  4. どうです!驚くほど簡単でしょう。 \(^o^)/
    cl コマンドでそのままコンパイルすると Native Code になります。
    それに対して /clr を設定してコンパイルすると CLI Code になります。
    cl /clr Pai.cpp
    
  5. Native Code はコンピュータがそのまま実行出来るコードですが、CLI Code は Java と同様に中間コードです。
    CLI Code を実行するには「中間コードを Native Code に変換する」仕組みが必要です。
    CLI Code を使う利点は幾つかあるのですが、最大の利点は「マシンに依存しない事とサイズが小さい事」でしょうか。
    そこで pai.exe のサイズを調べてみました。
    CLI Code は Native Code の約1/3のサイズでした。
    ファイル名 サイズ 説明
    pai.exe 73,728 byte Native Code(CL Pai.cpp)
    pai.exe 23,040 byte CLI Code(CL /clr Pai.cpp)
    pai.exe.manifest 383 byte CLI のとき作成される

超初心者のプログラム入門(C/C++)