Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

mcc

配布する MATLAB 関数のコンパイル

説明

一般的な使用方法

mcc options mfilename1 mfilename2...mfilenameN はオプションの指定に従って関数をコンパイルします。使用するオプションは、意図するコンパイル結果によって異なります。

コンパイルについての詳細は、次を参照してください。

  • C/C++ 共有ライブラリ、.NET アセンブリ、Java® パッケージ、または Python® パッケージについては、MATLAB® Compiler SDK™mcc (MATLAB Compiler SDK) を参照

  • MATLAB Production Server™ の配布可能アーカイブまたは MATLAB Production Server 用 Excel® アドインについては、MATLAB Compiler SDKmcc (MATLAB Production Server) を参照

スタンドアロン アプリケーション

mcc -m options mfilename は、関数をコンパイルしてスタンドアロン アプリケーションにします。

これは、mcc -W main -T link:exe と等価です。

mcc -e options mfilename は、関数をコンパイルして、実行時に Windows® コマンド プロンプトを開かないスタンドアロン アプリケーションにします。-e オプションは Windows オペレーティング システムでのみ機能します。

この構文は -W WinMain -T link:exe と等価です。

Excel アドイン

mcc -W 'excel:addin_name,className,version=version_number' -T link:lib options mfilename1 mfilename2...mfilenameN は、指定されたファイルから Microsoft® Excel アドインを作成します。

  • addin_name — アドインの名前を指定します。

  • className — 作成するクラスの名前を指定します。クラス名を指定しない場合、mccaddin_name を既定値として使用します。指定する場合、classNamemfilename とは異なるものでなければなりません。

  • version_number — アドイン ファイルのバージョン番号を、ファイル システムの major.minor.bug.build として指定します。バージョン番号の指定は必須ではありません。バージョン番号を指定しない場合、mcc はバージョン番号を既定で 1.0.0.0 に設定します。

    • major — メジャー バージョン番号を指定します。番号を指定しない場合、mccmajor0 に設定します。

    • minor — マイナー バージョン番号を指定します。番号を指定しない場合、mccminor0 に設定します。

    • bug— バグ修正メンテナンス リリース番号を指定します。番号を指定しない場合、mccbug0 に設定します。

    • build— ビルド番号を指定します。番号を指定しない場合、mccbuild0 に設定します。

    メモ

    Excel アドインは、Windows で実行される MATLAB でのみ作成できます。

    メモ

    DOS プロンプトで mcc コマンドを実行する場合は、'excel:addin_name,className,version' を囲む一重引用符を削除します。

Hadoop の MapReduce アプリケーション

mcc -H -W hadoop:archiveName,CONFIG:configFile mfilename は、mfilename から Hadoop® がジョブとして実行できる配布可能なアーカイブを生成します。

ヒント

mcc コマンドは、MATLAB コマンド プロンプト、あるいは Windows システムまたは Linux® システムのコマンド ラインから発行できます。

Simulink シミュレーション (Simulink Compiler が必要)

mcc -m options mfilename は、Simulink® シミュレーションを含む MATLAB アプリケーションをスタンドアロン アプリケーションにコンパイルします。詳細については、Create and Deploy a Script with Simulink Compiler (Simulink Compiler)を参照してください。

スタンドアロン アプリケーションの作成

mcc -m magic.m

コマンド シェルを開かないスタンドアロン アプリケーションの作成 (Windows のみ)

mcc -e magic.m

システム レベル ファイルのバージョン番号をもつスタンドアロン アプリケーションの作成 (Windows のみ)

Windows で、バージョン番号が 3.4.1.5 のスタンドアロン アプリケーションを作成します。

mcc -W 'main:mymagic,version=3.4.1.5' -T link:exe mymagic.m

Excel アドインの作成

mcc -W 'excel:myAddin,myClass,1.0' -T link:lib magic.m

システム レベル ファイルのバージョン番号をもつ Excel アドインの作成 (Windows のみ)

Windows で、バージョン暗号が 5.2.1.7 の Excel アドインを作成します。

mcc -W 'excel:myAddin,myClass,version=5.2.1.7' -T link:lib -b mymagic.m

MATLAB Production Server 用の Excel アドインの作成

mcc -W 'mpsxl:myDeployableArchvie,myExcelClass,version=1.0' -T link:lib mymagic.m

Simulink シミュレーション用のスタンドアロン アプリケーションの作成 (Simulink Compiler が必要)

Simulink シミュレーション用のスタンドアロン アプリケーションを作成するには、次を行います。

Simulink を使用して Simulink モデルを作成します。この例では、Simulink に付属しているモデル sldemo_suspn_3dof を使用します。

モデルのシミュレーションに Simulink Compiler™ の API を使用する MATLAB アプリケーションを作成します。詳細については、Deploy Simulations with Tunable Parameters (Simulink Compiler)を参照してください。

function deployParameterTuning(outputFile, mbVariable)
 
    if ischar(mbVariable) || isstring(mbVariable)
        mbVariable = str2double(mbVariable);
    end
     
    if isnan(mbVariable) || ~isa(mbVariable, 'double') || ~isscalar(mbVariable)
        disp('mb must be a double scalar or a string or char that can be converted to a double scalar');
    end
     
    in = Simulink.SimulationInput('sldemo_suspn_3dof');   
    in = in.setVariable('Mb', mbVariable);
    in = simulink.compiler.configureForDeployment(in);
    out = sim(in);
     
    save(outputFile, 'out');
  
end

mcc を使用して、MATLAB アプリケーションからスタンドアロン アプリケーションを作成します。

mcc -m deployParameterTuning.m

入力引数

すべて折りたたむ

コンパイル対象のファイル。文字ベクトルまたは string スカラーとして指定します。

1 つ以上のコンパイル対象のファイル。スペース区切りのファイル名のリストとして指定します。

出力をカスタマイズするオプション。文字ベクトルまたは string スカラーのリストとして指定します。

  • -a

    -a path を使用して追加するファイルを指定し、配布可能なアーカイブにファイルを追加します。複数の -a オプションを指定できます。

    -a を使用してファイル名を指定した場合、コンパイラはこれらのファイルを MATLAB パスで検索するため、絶対パス名の指定は任意となります。これらのファイルは mbuild へ渡されないため、データ ファイルなどのファイルを指定してもかまいません。

    -a オプションでフォルダー名を指定した場合、そのフォルダーのすべてのファイルが配布可能なアーカイブに再帰的に追加されます。たとえば、

    mcc -m hello.m -a ./testdir 

    は、testdir 内のすべてのファイルとそのサブフォルダー内のすべてのファイルが配布可能なアーカイブに追加されるよう指定します。testdir 内のフォルダー サブツリーは配布可能なアーカイブ内で保持されます。

    ファイル名にワイルドカード パターンが含まれる場合、フォルダー内でパターンに一致するファイルのみが配布可能なアーカイブに追加され、指定したパスのサブフォルダーは再帰的に処理されません。たとえば、

    mcc -m hello.m -a ./testdir/*

    は、./testdir のすべてのファイルが配布可能なアーカイブに追加され、./testdir のサブフォルダーは再帰的に処理されないよう指定します。

    mcc -m hello.m -a ./testdir/*.m

    は、./testdir の直下にあり、拡張子が .m であるすべてのファイルが配布可能なアーカイブに追加され、./testdir のサブフォルダーは再帰的に処理されないよう指定します。

    メモ

    サポートされているワイルドカードは * のみです。

    コンパイル時に MATLAB パス上で表示されないファイルを、-a を使用して配布可能なアーカイブに追加する場合、ファイルが配布コードの実行時にパス上に表示されるように、配布アプリケーションの実行時パスにパス エントリが追加されます。

    リソースへの絶対パスを指定するために -a オプションを使用する場合、基本的なパスは維持されますが、ユーザーのローカル フォルダーではなく、ランタイム キャッシュ ディレクトリのサブディレクトリを基準に多少の変更が加えられます。キャッシュ ディレクトリは、アプリケーションの初回実行時に、配布可能なアーカイブから作成されます。関数 isdeployed を使用することで、アプリケーションが配布モードで実行されているかどうかを判定し、それに応じてパスを調整できます。-a オプションはまた、認証用の .auth ファイルも作成します。

    注意

    MATLAB パス上にないファイルを含めるために -a フラグを使用した場合、ファイルを含むフォルダーが MATLAB 依存関係の解析パスに追加されます。その結果、そのフォルダー内の他のファイルがコンパイルされたアプリケーションに含められる場合があります。

    メモ

    カスタム Java クラスを含めるために -a フラグを使用する場合、Java クラスがパッケージのメンバーではない限り、スタンドアロン アプリケーションは classpath を変更しなくても動作します。これは JAR ファイルにもあてはまります。ただし、追加するクラスがパッケージのメンバーである場合、パッケージの親フォルダーの classpath を更新するために、MATLAB コードで javaaddpath を正しく呼び出す必要があります。

  • -b

    Visual Basic® ファイル (.bas) を生成します。そのファイルには、MATLAB Compiler で生成された COM オブジェクトに対応する Microsoft Excel の数式関数インターフェイスが含められています。ワークブックの Visual Basic コードにインポートすると、このコードでは MATLAB 関数がセル数式関数として表示されるようになります。

  • -B

    mcc コマンド ライン上のファイルを、指定したファイルの内容で置き換えます。次の構文を使用します。

    -B filename[:<a1>,<a2>,...,<an>]
    

    バンドル filename には、mcc コマンド ライン オプションと、それに対応する引数や他のファイル名のみを含めなければなりません。このファイルには他の -B オプションが含まれている場合があります。バンドルは、コンパイラ オプションの名前やバージョン番号のパラメーターの置き換えを含むことができます。Using Bundles to Build MATLAB Code (MATLAB Compiler SDK)を参照してください。

  • -c

    -l オプションとあわせて使用すると、生成された C ラッパー コードのコンパイルとリンクが省略されます。-c オプションは、-l オプションから独立して使用することはできません。

  • -C

    配布可能なアーカイブをバイナリに組み込みません。

    メモ

    -C フラグは Java ライブラリでは無視されます。

  • -d

    指定したフォルダーに出力を置きます。次の構文を使用します。

    -d outFolder
    

    生成されたファイルが outFolder に送られるようになります。指定したフォルダーが既に存在していなければなりません。

  • -e

    オプション -m の代わりに -e を使用して、実行時に Windows コマンド プロンプトを開かないスタンドアロンの Windows アプリケーションを生成します。-e-W WinMain -T link:exe と等価です。

    このオプションは Windows オペレーティング システムでのみ機能します。

  • -f

    指定したオプション ファイルで既定のオプション ファイルを無効にします。具体的には C/C++ 共有ライブラリ、COM、Excel の各ターゲットが該当します。次の構文を使用します。

    -f filename
    

    これで、mbuild を呼び出すときのオプション ファイルとして filename を指定します。このオプションにより、コンパイラの別の呼び出しに対して別の ANSI コンパイラを使用できるようになります。このオプションは mbuild へのダイレクト パス スルーです。

  • -g-G

    MATLAB Compiler SDK で生成した C/C++ コード用のデバッグ シンボル情報を含めます。これによって、mbuild から C/C++ コンパイラへ適切なデバッグ フラグが渡されます。このデバッグ オプションを使用すると、MATLAB Runtime の初期化、関数呼び出し、または終了ルーチンのいずれでエラーが発生したかを特定できる箇所まで戻ることができます。このオプションでは、C/C++ デバッガーで MATLAB ファイルをデバッグすることはできません。

  • -I

    インクルード フォルダーのリストへ新しいフォルダー パスを追加します。各 -I オプションは、検索パスのリストの末尾にフォルダーを追加します。たとえば、

    -I <directory1> -I <directory2>
    

    は、MATLAB ファイルが最初に directory1 で検索され、次に directory2 で検索されるように検索パスを設定します。このオプションは MATLAB パスが利用できないところでスタンドアロンをコンパイルするときに重要です。

    -N オプションと併用する場合、-I オプションはフォルダーをコンパイル パスの先頭ではなく、MATLAB パス内で表示された場所と同じコンパイル パス内の場所に追加します。

  • -K

    エラーによってコンパイルが途中で終了する場合に、出力ファイルを削除しないよう mcc に指示します。

    mcc の既定の動作では、コマンドが正常に実行されない場合はすべての部分出力が破棄されます。

  • -m

    mcc にスタンドアロン アプリケーションを生成するよう指示します。

  • -M

    コンパイル時のオプションを定義します。次の構文を使用します。

    -M string
    

    これで、mbuildstring を直接渡します。たとえば -M "-Dmacro=value" のように、このオプションはコンパイル時のオプションを定義するための有用な方法を提供します。

    メモ

    -M オプションを複数指定することはできません。複数指定した場合、最も右にある -M オプションのみが使用されます。

    /bigobj などのオプションを渡すには、プラットフォームに応じて文字列を記述します。

    プラットフォーム構文

    MATLAB

    -M 'COMPFLAGS=$COMPFLAGS /bigobj'
    Windows コマンド プロンプト
    -M COMPFLAGS="$COMPFLAGS /bigobj"
    

    Linux および macOS のコマンド ライン

    -M CFLAGS='$CFLAGS /bigobj'
  • -n

    -n オプションを使用すると、数値のコマンド ライン入力が自動的に特定され、MATLAB double として扱われます。

  • -N

    -N を渡すと、以下のコア フォルダーを除く、すべてのフォルダーのパスが消去されます (このリストは将来変更の可能性があります)。

    • matlabroot\toolbox\matlab

    • matlabroot\toolbox\local

    • matlabroot\toolbox\compiler

    • matlabroot\toolbox\shared\bigdata

    -N が渡されると、このリストのサブフォルダーもすべて保持され、コンパイル時に MATLAB パスに表示されます。コマンド ラインに -N を含めると、オリジナルのパスでフォルダーを置き換えることができます。一方で、パスに含まれているフォルダーの相対的な順序は保持されます。オリジナルのパスに含まれるフォルダー内のすべてのサブフォルダーも含まれます。さらに、-N オプションは、matlabroot\toolbox の下位にないパスで含めたすべてのフォルダーも保持します。

    –N オプションを使用するときに、コンパイル パスの先頭に配置されるフォルダーを強制的に含めるには、–I を使用します。条件付きでフォルダーおよびサブフォルダーを含めるようにするには、–p オプションを使用します。フォルダーおよびサブフォルダーが MATLAB パスにある場合、コンパイル パス内に同じ順序で表示されます。

  • -o

    最終的な実行可能ファイル (スタンドアロン アプリケーションのみ) の名前を指定します。次の構文を使用します。

    -o outputfile
    

    これで、MATLAB Compiler によって出力される最終的な実行可能ファイルに名前を付けます。指定した名前には、プラットフォームによって決まる適切な拡張子が追加されます (たとえば Windows スタンドアロン アプリケーションでは .exe)。

  • -p

    オプション -N と共に使用し、matlabroot\toolbox にある特定のフォルダーとサブフォルダーを MATLAB のコンパイル パスに追加します。ファイルは MATLAB パス上の表示と同じ順序で追加されます。次の構文

    -N -p directory
    

    ここで directory は、追加するフォルダーです。directory が絶対パスでない場合、現在の作業フォルダーの下とみなされます。

    • オリジナルの MATLAB パス上に存在するフォルダーを -p で指定する場合、オリジナル パス上のフォルダーとすべてのサブフォルダーは、オリジナルのパスと同じ順序でコンパイル パスに追加されます。

    • オリジナルの MATLAB パス上にないフォルダーを -p で指定する場合、このフォルダーは無視されます (このフォルダーを強制的に含めるには -I を使用します)。

  • -r

    リソース アイコンをバイナリ形式で組み込みます。構文は以下のようになります。

    -r 'path/to/my_icon.ico'

  • -R

    MATLAB Runtime のオプションを指定します。

    メモ

    このオプションは、MATLAB Compiler を使用してスタンドアロン アプリケーションをビルドする場合にのみ使用できます。

    構文は以下のようになります。

    -R option

    オプション

    説明

    ターゲット

    '-logfile,filename'

    ログ ファイル名を指定します。オプションは一重引用符で囲まなければなりません。

    MATLAB Compiler

    -nodisplay

    MATLAB nodisplay の実行時警告を抑制します。

    MATLAB Compiler

    -nojvm

    JVM (Java 仮想マシン) を使用しません。

    MATLAB Compiler

    -startmsg

    初期化開始時にカスタマイズ可能なユーザー メッセージを表示します。

    MATLAB Compiler スタンドアロン アプリケーション

    -completemsg

    初期化完了時にカスタマイズ可能なユーザー メッセージを表示します。

    MATLAB Compiler スタンドアロン アプリケーション

    -singleCompThread

    MATLAB を単一の計算スレッドに制限します。

    MATLAB Compiler

    注意

    macOS 上での実行時に、mclInitializeApplication に含めるオプションの 1 つとして -nodisplay を使用する場合、mclInitializeApplication の呼び出しは mclRunMain の呼び出しよりも前になければなりません。

    メモ

    MATLAB Compiler SDK から作成されたライブラリに対して -R オプションを指定した場合でも、mcc はエラーなしでコンパイルし、結果を生成します。ただし、-R オプションはこれらのライブラリには適用されず、何も実行されません。

  • -S

    MATLAB Runtime の標準動作では、クラスの各インスタンスが固有の MATLAB Runtime コンテキストを取得します。このコンテキストには、パスなどの変数に対応するグローバル MATLAB ワークスペースと、クラス内の各関数に対応するベース ワークスペースが含まれます。1 つのクラスをもつインスタンスが複数作成された場合、各インスタンスは独自のコンテキストを取得します。これにより、該当クラスの 1 つのインスタンスにおいてグローバル ワークスペースまたはベース ワークスペースに行われた変更が、同じクラスの別のインスタンスに影響しないようになります。

    シングルトン MATLAB Runtime では、1 つのクラスのすべてのインスタンスがコンテキストを共有します。1 つのクラスに複数のインスタンスが作成される場合、それらのインスタンスは最初のインスタンスによって生成されたコンテキストを使用するため、起動時間と一部のリソースが節減されます。ただし、1 つのインスタンスによりグローバル ワークスペースまたはベース ワークスペースに行われた任意の変更は、すべてのクラス インスタンスに影響します。たとえば、シングルトン MATLAB Runtimeinstance1 がグローバル変数 A を作成した場合、instance2 は変数 A を使用できます。

    これらの特定のターゲットでは、シングルトン MATLAB Runtime は以下の製品によってのみサポートされます。

    シングルトン MATLAB Runtime がサポートするターゲットシングルトン MATLAB Runtime の作成手順
    Excel アドインターゲットの既定の動作はシングルトン MATLAB Runtime です。行わなければならないその他の手順はありません。
    .NET アセンブリターゲットの既定の動作はシングルトン MATLAB Runtime です。行わなければならないその他の手順はありません。
    COM コンポーネント
    • ライブラリ コンパイラ アプリを使用して、[設定] をクリックし、[MCC に渡される追加パラメーター] フィールドに -S を追加します。

    • mcc を使用して -S フラグを渡します。

    Java パッケージ
  • -T

    出力ターゲットの段階とタイプを指定します。

    構文 -T target を使用して出力タイプを定義します。

    ターゲット説明
    compile:exeC/C++ ラッパー ファイルを生成し、C/C++ ファイルをスタンドアロン アプリケーションへのリンクに適したオブジェクト形式にコンパイルします。
    compile:libC/C++ ラッパー ファイルを生成し、C/C++ ファイルを共有ライブラリまたは DLL へのリンクに適したオブジェクト形式にコンパイルします。
    link:execompile:exe と同じですが、さらにオブジェクト ファイルをスタンドアロン アプリケーションにリンクします。
    link:libcompile:lib と同じですが、さらにオブジェクト ファイルを共有ライブラリまたは DLL にリンクします。

  • -u

    開発マシンのみにおいて、現在のユーザーに対する COM コンポーネントを登録します。この引数は汎用 COM コンポーネントと Microsoft Excel アドインのターゲットにのみ適用されます。

  • -U

    MATLAB Production Server 用の配布可能なアーカイブ (.ctf ファイル) をビルドします。

  • -v

    次の内容を含むコンパイル手順を表示します。

    • MATLAB Compiler のバージョン番号

    • 処理されるソース ファイル名

    • 生成する出力ファイル名

    • mbuild の起動

    -v オプションは mbuild-v を渡し、mbuild に関する情報を示します。

  • -w

    警告メッセージを表示します。次の構文

    -w option [:<msg>]

    は、警告表示を制御します。

    構文

    説明

    -w list

    コンパイル時警告のリストを表示します。この警告には、ID の短縮形とそのステータスが含まれます。

    -w enable

    すべてのコンパイル時警告を有効にします。

    -w disable[:<string>]

    <string> に関連付けられた特定のコンパイル時警告を無効にします。すべてのコンパイル時警告に disable アクションを適用するには、オプションの <string> を省略します。

    -w enable[:<string>]

    <string> に関連付けられた特定のコンパイル時警告を有効にします。すべてのコンパイル時警告に enable アクションを適用するには、オプションの <string> を省略します。

    -w error[:<string>]

    <string> に関連した特定のコンパイル時警告と実行時警告をエラーとして扱います。すべてのコンパイル時警告と実行時警告に error アクションを適用するには、オプションの <string> を省略します。

    -w off[:<string>]

    <string> で定義された特定のエラー メッセージに対して警告をオフにします。すべての実行時警告に off アクションを適用するには、オプションの <string> を省略します。

    -w on[:<string>]

    <string> に関連付けられた実行時警告を有効にします。すべての実行時警告に on アクションを適用するには、オプションの <string> を省略します。このオプションは既定で有効になっています。

    MATLAB コード内で警告をオンまたはオフに設定することもできます。

    たとえば、配布されたアプリケーション (isdeployed を使用して指定) に対する警告を startup.m でオフにするには、次のように記述します。

    if isdeployed
        warning off
    end
    

    配布されたアプリケーションに対して警告をオンにするには、次にのように記述します。

    if isdeployed
        warning on
    end
    

    -w オプションを複数指定することもできます。

    たとえば、repeated_file 以外のすべての警告を無効にするには、次のように指定します。

    -w disable -w enable:repeated_file
    複数の -w オプションを指定すると、左から右に向かって順番に処理されます。

  • -W

    ラッパー関数の生成を制御します。次の構文

    -W type 

    を使用して、コンパイラにより生成された MATLAB ファイルの集合に対する関数ラッパーの生成を制御します。関数のリストを指定すると、コンパイラはラッパー関数および任意の適切なグローバル変数定義を生成します。

    ターゲット構文
    スタンドアロン アプリケーション-W 'main:appName,version=version'
    スタンドアロン アプリケーション (Windows コンソールなし)-W 'WinMain:appName,version=version'
    Excel アドイン-W 'excel:addinName,className,version=version'
    Hadoop MapReduce アプリケーション-W 'hadoop:archiveName,CONFIG:configFile'
    Spark アプリケーション-W 'spark:appName,version'

    メモ

    Windows コマンド プロンプトからコマンドを実行する場合は、一重引用符を二重引用符に置き換えます。

  • -X

    -X を使用すると、依存関係の解析時に共通の MATLAB ファイル I/O 関数によって読み取られるデータ ファイルが無視されます。詳細については、MATLAB Compiler を使用した依存関係の解析を参照してください。-X オプションの使用方法の例は、%#exclude を参照してください。

  • -Y

    次の構文を使用します。

     -Y license.lic

    これで、指定した引数で既定のライセンス ファイルを上書きします。

    メモ

    -Y フラグはコマンド ライン モードでのみ動作します。

    >>!mcc -m foo.m -Y license.lic

ヒント

  • Windows では、mcc 構文を生成するターゲットに version=version_number を追加することにより、ターゲット ファイルのシステム レベル ファイルのバージョン番号を生成できます。例については、システム レベル ファイルのバージョン番号をもつスタンドアロン アプリケーションの作成 (Windows のみ)を参照してください。

    version_number — ターゲット ファイルのバージョンを、ファイル システムの major.minor.bug.build として指定します。バージョン番号の指定は必須ではありません。バージョン番号を指定しない場合、mcc はバージョン番号を既定で 1.0.0.0 に設定します。

    • major — メジャー バージョン番号を指定します。バージョン番号を指定しない場合、mccmajor1 に設定します。

    • minor — マイナー バージョン番号を指定します。バージョン番号を指定しない場合、mccminor0 に設定します。

    • bug— バグ修正メンテナンス リリース番号を指定します。バージョン番号を指定しない場合、mccbug0 に設定します。

    • build — ビルド番号を指定します。バージョン番号を指定しない場合、mccbuild0 に設定します。

    この機能は、スタンドアロン アプリケーションと、MATLAB Compiler の Excel アドインでサポートされています。MATLAB Compiler SDK でサポートされるターゲットについては、mcc (MATLAB Compiler SDK) の「ヒント」の節を参照してください。

R2006a より前に導入