 **********************************************************************
 * 保証責任:                                                          *
 *                                                                    *
 * 以下のコードは、IBM コーポレーションが作成したサンプル・コード     *
 * です。サンプル・コードは、IBM の正式な製品の一部ではありません。   *
 * サンプル・コードはアプリケーション開発を援助することを目的とし     *
 * て提供されています。本コードは、特定物として現存するままの状態     *
 * で提供され、法律上の瑕疵担保責任、商品性の保証および特定目的適     *
 * 合性の保証を含めて、いかなる黙示又は明示の保証も適用されません。   *
 * また、IBM は、サンプル・コードの使用によって生ずる障害等に関し     *
 * て、いかなる責任も負いません。                                     *
 *                                                                    *
 **********************************************************************

 名前: サンプル - 3 つのソート DLL

 特徴/概念:
 _DLL_InitTerm 関数の例。
 次の 3 つの手法を使用してシンボルをエクスポートします。
    (1) #pragma エクスポート、(2) _Export キーワード、(3) モジュール定義ファイル

 タスク:
 DLL のビルドと使用。

 説明:
 3 つの異なるソート関数をインプリメントします。バブル・ソート、
 選択ソート、および挿入ソートです。

 これらの機能は、スワップの回数を記録し、
 ソートの実行に必要なオペレーションを比較します。

 コマンド行からのサンプルの実行方法:
 単に .EXE ファイルの名前を入力します。つまり、次のように入力します。

        MAIN03


 コマンド行からのサンプルのビルド方法:
 sample03 ディレクトリーから単に次のように入力します。

        nmake

 ソース・ファイル情報:

    ロケーション:
    \ibmcpp\samples\compiler\sample03

    ファイル名     説明
    ------------   ------------
    MAIN03.C       メインプログラム。ソートされていない配列をコピーし、SAMPLE03 DLL の
                   それぞれのソート関数を使用してそれをソートします。
    MAIN03.DEF     MAIN03.EXE を作成するために使用するモジュール定義ファイル (OS/2 のみ)

    ロケーション:
    \ibmcpp\samples\compiler\sample03\sort

    ファイル名     説明
    ------------   ------------
    SAMPLE03.C     DLL の関数用のソース・ファイル。これには、
                   次の関数のコードが入っています。
                   - 3 つのソート関数: バブル、挿入、および選択。
                   - スワップと比較の 2 つの静的関数。これらは
                     ソート関数によって呼び出されます。
                   - 配列の内容をリストする関数 list。
    INITTERM.C     DLL 初期化/終了ルーチンの C ソース。
                   この関数は、初期化を実行するために呼び出されたときに
                   整数の配列のための記憶域を獲得し、その要素を無作為に選出した
                   整数で初期化します。終了時には、
                   配列を解放します。
    SAMPLE03.H     SAMPLE03 DLL のソート関数を呼び出す、または SAMPLE03 DLL で
                   定義された外部変数を参照する別のソース・ファイルによって
                   インクルードされるファイル。
    SAMPLE03.DEF   SAMPLE03.DLL を作成するために使用されるモジュール定義ファイル。


 ソフトウェア/ハードウェア要件 (OS/2 のみ):
 ソート・ディレクトリーに作成された DLL は sample03 ディレクトリーに
 移動されます。sample03 を現行ディレクトリーとして設定し、MAIN03.EXE を実行します。システムに
 SAMPLE03.DLL を見つけさせるためには、CONFIG.SYS の LIBPATH 設定に
 現行ディレクトリーが含まれている必要があります (つまり、".;" が指定されている必要があります)。


