C# GcmLcm.dll

GCM=8  LCM=96

GCM と LCM を計算する Class を登録した DLL(Dynamic Link Library) を作成します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

DLL の作成

  1. DLL とは実行時に動的にリンクされるライブラリで、DLL こそが Windows System の骨格を構成するプログラム群です。
    多くの Heavy User が様々なプログラムを開発して、誰もが自由に使えるように提供してくれています。
    DLL が使えるようになると、一挙に多くの協力者を得ることになり、何故か「とってもプログラムがうまくなった」ような気がします。 \(^o^)/
  2. DLL のプロジェクトを格納するフォルダ C:\DATA\C#\DLL\02GcmLcm\ を作成します。
    Visual Studio .NET を起動します。
    メニューから[ファイル(F)][新規作成(N)][プロジェクト(P)]を選択します。
    プロジェクトの種類は [Visual C#] を選択します。
    テンプレートは [クラスライブラリ] を選択します。
    C:\DATA\C#\DLL\02GcmLcm\ のフォルダを指定して GcmLcm の名前で作成します。
    C:\DATA\C#\DLL\02GcmLcm\GcmLcm\Class1.cs がプロジェクトに生成されます。

  3. Class1 のままでも構わないのですが、今回は GcmLcm に変更してみましょう。
    プロジェクトを閉じて Class1 のファイル名を GcmLcm に変更します。
    GcmLcm.csproj をテキストエデッタで開いて Class1.cs を GcmLcm.cs に書き換えます。
  4. GcmLcm.cs のソースコードです。
    DLL のソースコードは Object Class の作成と同じ要領です。
    using System;
    
    namespace ClassLibrary1
    {
        public class GcmLcm
        {   int d1,d2;
    
            public GcmLcm(int n, int m)
            {   d1= n;
                d2= m;
            }
    
            ~GcmLcm()
            {
            }
    
            public int Gcm()
            {   int n,m;
                n= d1;
                m= d2;
                while(n!=m)
                {   if (n>m)    n-= m;
                    else        m-= n;
                }
                return n;
            }
    
            public int Lcm()
            {   int     wk;
                wk= Gcm();
                return d1*d2/wk;
            }
        }
    }
    
  5. ビルドからソリューションのビルドを実行すると bin\Debug のフォルダに GcmLcm.dll が作成されます。
    これが目的の DLL(Dynamic Link Library) です。
    デバッグが済めば Release Mode でコンパイルして下さい。
  6. ここで作成した GcmLcm.dll を C/C++ から呼び出すことが出来ます。
    C/C++⇒C#/GcmDLL を参照して下さい。

DLL を使う

  1. DLL を使用する Main のプログラムは Object Class の時と同じ要領です。
    C:\DATA\C#\DLL\02GcmLcm\ のフォルダに Prog.cs, Prog.csproj を格納します。
    Prog.cs に using ClassLibrary1; を追加して下さい。
    ClassLibrary1 は DLL の namespace の名前です。
    /***********************************************/
    /*★ DLL を使って GCM LCM を計算     前田 稔 ★*/
    /***********************************************/
    using System;
    using ClassLibrary1;
    
    class console
    {
        public static int Main()
        {
            GcmLcm  glcm = new GcmLcm(24,32);
    
            Console.WriteLine("GCM={0}  LCM={1}",glcm.Gcm(),glcm.Lcm());
            System.Console.ReadLine();
            return 0;
        }
    }
    
  2. プロジェクトのフォルダに GcmLcm.dll を格納します。
    ソリューション・エクスプローラで「参照設定」を右クリックし「参照の追加」を選択します。
    参照の追加から[参照]タグを選び、GcmLcm.dll を組み込みます。

  3. プロジェクトを実行すると GCM と LCM が計算されて印字されます。
    計算する値(現在は 24,32)をタイプ入力出来るようにプログラムを修正して下さい。

超初心者のプログラム入門(C# Frame Work)