主要内容

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

墨西哥人

墨西哥人関数またはエンジンアプリケーションのビルド

説明

墨西哥人文件名MATLABデータ 美国石油学会で作成された 1.つ以上の C++ソース ファイルをコンパイルして、現在のフォルダー内のバイナリ 墨西哥ファイルにリンクします。これらのアプリケーションを作成する方法の詳細については、c++墨西哥人アプリケーションを参照してください。

C行列 美国石油学会またはFortran行列 美国石油学会に基づいて 墨西哥ファイルを作成する場合、墨西哥人文件名は1つ以上のC, c++, Fortranのソースファイルを-R2017bapiでビルドします。MATLAB®の将来のバージョンでは,既定のapiオプションによってインターリーブされた複素数 原料药(-R2018a)を使用するように変更されます。MathWorksでは、MEX ファイルを作成して既存の MEX ファイルを更新し、インターリーブされた複素数 API を使用することを推奨しています。あるいは、MX_HAS_INTERLEAVED_COMPLEXマクロを使用して、MATLABのバージョン間で確実に望ましい動作になるようにします。詳細については、MATLABの 墨西哥関数におけるインターリーブされた複素数 美国石油学会のサポートを参照してください。

C、C++、FORTRAN语言の各アプリケーションを操作する方法の詳細については、外部プログラミング言語およびシステムと MATLABの統合を参照してください。

墨西哥人文件名api选项1…选项nは指定されたapi引数とオプションの选项1…选项n引数を使用してビルドします。选项1…选项n引数は、既定の墨西哥人ビルド構成を補足またはオーバーライドします。

mex-客户端引擎文件名MATLABデータ 美国石油学会で作成された C++ソース ファイルをスタンドアロンの MATLABエンジン アプリケーションにビルドします。詳細については、c++用のエンジンAPIの紹介を参照してください。

C用のMATLABエンジンAPIMatlabC APIでの 小地毯ファイル データの読み取りFortran用 MATLABエンジン 美国石油学会MATLAB Fortran APIでの垫ファイルデータの読み取りに基づいてアプリケーションを作成する場合、mex-客户端引擎文件名-R2017bapiを使用してスタンドアロンアプリケーションをビルドします。MATLABの将来のバージョンでは、既定のapiオプションによってインターリーブされた複素数 原料药(-R2018a) を使用するように変更されます。数学作品では、エンジン アプリケーションを作成して既存のアプリケーションを更新し、インターリーブされた複素数 美国石油学会を使用することを推奨しています。

mex-客户端引擎文件名api选项1…选项nは指定したapi引数とオプションの选项1…选项n引数を使用してエンジンアプリケーションをビルドします。

mex-设置[]は,墨西哥人ファイルをビルドするために指定された言語に対するコンパイラについての情報を表示します。MATLABはサポートされる言語ごとに既定のコンパイラを定義します。特定の言語に複数のコンパイラがある場合,オプションを使用してその言語の既定のコンパイラを変更します。詳細については、既定のコンパイラの変更C++コンパイラの選択を参照してください。

mex-设置-客户端引擎[]はエンジンアプリケーションをビルドするためのコンパイラを選択します。

すべて折りたたむ

matlabroot/外面的例子フォルダーからソース コードの例をコピーします。

copyfile(完整文件)(matlabroot,“外人”,“例子”,“墨西哥”,“explore.c”),'.',“f”)

墨西哥ファイルをビルドします。出力には、コンパイラ固有の情報が表示されます。

墨西哥人-R2018a探索

テストします。

A = [1 3 5];B = [5 3 1];一个=复杂(A, b);探索(A)
------------------------------------------------ 名称:prhs[0]维度:1 x3类名:双  ------------------------------------------------ ( 1, - 1) = 1 + 5(1、2)= 3 + 3(1、3)= 5 + 1我

単一の Cプログラムyprime.cを 墨西哥ファイルにビルドします。

パスc: \工作に書き込み可能フォルダーを作成し,現在のフォルダーとして設定します。

(年代,味精,是否)= mkdir (“c: \工作”);如果(isempty(msgid))mkdir(“c: \工作”)终止光盘c: \工作

matlabroot/外面的例子フォルダーからソース コードの例をコピーします。

copyfile(完整文件)(matlabroot,“外人”,“例子”,“墨西哥”,“yprime.c”),'.',“f”)

墨西哥ファイルをビルドします。出力には、コンパイラ固有の情報が表示されます。

墨西哥人yprime.c
使用“MinGW64编译器C”生成。MEX已成功完成。

テストします。

T=1;Y=1:4;Y素(T,Y)
ans=2.0000 8.9685 4.0000-1.0947

コンパイルやリンクのコマンドおよびトラブルシューティングに役立つその他の情報を表示するには、詳細モードを使用します。

墨西哥人- v-相容性yprime.c

出力には、プラットフォームおよびコンパイラ固有の情報が表示されます。

-墙を既存のコンパイラ フラグに付加して、yprime.c墨西哥ファイルをビルドします。値にスペース文字が含まれているので、文字列を区切らなければなりません。使用する区切り文字はプラットフォームに依存します。

MATLABプロンプトではMATLABの一重引用符(')を使用してください。

墨西哥人- vCOMPFLAGS = ' $ - wall COMPFLAGS 'yprime.c

gcc/g++を基にした MinGW-w64コンパイラでは、Linux®コンパイラ フラグを使用します。

墨西哥人- vCXXFLAGS=“$CXXFLAGS-墙”yprime.c

窗户®コマンドプロンプトでは二重引用符(")を使用してください。

墨西哥人- vCOMPFLAGS=“$COMPFLAGS- wall”yprime.c

马科斯とLinux上のシェルコマンドラインでは,一重引用符(')を使用してください。

墨西哥人- vCFLAGS='$CFLAGS-Wall'yprime.c

墨西哥ファイルの例fulltosparseは、loadsparse.Ffulltosparse。Fの 2.つの Fortranソース ファイルで構成されます。この例を実行するには、サポートされる Fortranコンパイラがシステムにインストールされている必要があります。

ソース ファイルを現在のフォルダーにコピーします。

copyfile(完整文件)(matlabroot,“外人”,“例子”,“refbook”,“loadsparse。F '),'.',“f”)复制文件(fullfile (matlabroot,“外人”,“例子”,“refbook”,“fulltosparse。F '),'.',“f”)

fulltosparse墨西哥人ファイルをビルドします。コマンドラインの最初のファイルがfulltosparse。Fなので、墨西哥ファイルの名前はfulltosparseです。出力には、コンパイラ固有の情報が格納されます。

墨西哥人-largeArrayDimsfulltosparse。Floadsparse.F
使用“英特尔Visual Fortran Composer XE 2013和Microsoft Visual Studio 2012”生成。MEX已成功完成。

テストします。

完整=眼(5);spar=完整解析(完整)
spar=1,1 2,2 1 3,3 1 4,4 1 5,5 1

現在のフォルダー内のすべての Cソース ファイルを 墨西哥ファイルmymexにまとめます。墨西哥人ファイルの名前を制御するには,-输出オプションを使用します。

墨西哥人-输出mymex*c

ビルドコマンドを実行せずにその詳細をプレビューするには,- nオプションを使用します。出力には,プラットフォームおよびコンパイラ固有の情報が格納されます。

墨西哥人- nyprime.c

ソース墨西哥人ファイルとは別にコンパイルするオブジェクトファイルにリンクすることができます。

墨西哥人ファイルの例fulltosparseは,2つのFortranソースファイルで構成されます。fulltosparseファイルは、MEX函数サブルーチンを含むゲートウェイ ルーチンです。负载稀疏には、計算ルーチンが含まれています。

この例を実行するには、サポートされる Fortranコンパイラがシステムにインストールされている必要があります。計算サブルーチンを現在のフォルダーにコピーします。

copyfile(完整文件)(matlabroot,“外人”,“例子”,“refbook”,“loadsparse。F '),'.',“f”)

サブルーチンをコンパイルし,オブジェクトファイルを別のフォルダーc: \ objfilesに配置します。

mkdirc: \ objfiles墨西哥人-largeArrayDims- c-奥特迪尔c: \ objfilesloadsparse.F
使用“英特尔Visual Fortran Composer XE 2013和Microsoft Visual Studio 2012”生成。MEX已成功完成。

ゲートウェイ サブルーチンを現在のフォルダーにコピーします。コンパイルして负载稀疏オブジェクト ファイルとリンクします。

copyfile(完整文件)(matlabroot,“外人”,“例子”,“refbook”,“fulltosparse。F '),'.',“f”)墨西哥-largeArrayDimsfulltosparse。Fc: \ objfiles \ loadsparse.obj
使用“英特尔Visual Fortran Composer XE 2013和Microsoft Visual Studio 2012”生成。MEX已成功完成。

複素数ルーチンを処理するためのMATLAB LAPACKライブラリサブルーチンをインクルードするパスを指定するには,-我オプションを使用します。これらのサブルーチンを使用するには,墨西哥人ファイルがヘッダーファイルh堡にアクセスしなければなりません。

matrixDivideComplex.c例を現在のフォルダーにコピーします。

copyfile(完整文件)(matlabroot,“外人”,“例子”,“refbook”,“matrixDivideComplex.c”),'.',“f”)

“-我h堡ファイルへのパスを連結して-我引数を作成します。

ipath=[“-我fullfile (matlabroot“外人”,“例子”,“refbook”)];

拉帕克ライブラリ ファイルの名前とパスを表す変数と複素数処理ルーチンを含むファイルc堡を作成します。

lapacklib=fullfile(matlabroot,“外人”,“lib”,电脑(“拱”),“微软”,“libmwlapack.lib”);fortfile=fullfile(matlabroot,“外人”,“例子”,“refbook”,“c堡”);

墨西哥人ファイルをビルドします。

墨西哥人(“v”,“-R2017b”,ipath,“matrixDivideComplex.c”,fortfile,lapacklib)

窗户プラットフォームでmatrixDivide.cの例をビルドします。これには- lおよび- lオプションを使用して,libmwlapack.libライブラリを指定します。ライブラリ ファイルはmatlabroot\外部库\\微软フォルダーにあります。

matrixDivide.c例を現在のフォルダーにコピーします。

copyfile(完整文件)(matlabroot,“外人”,“例子”,“refbook”,“matrixDivide.c”),'.',“f”)

matlabrootの値を取得します。

matlabroot
ans=C:\Program Files\MATLAB\R2014a

の値を取得します。

计算机(“拱”)
ans=win64

墨西哥ファイルをビルドするには、以下のステートメントに示すように、matlabrootの値を墨西哥人コマンドにコピーします。

墨西哥人'-LC:\Program Files\MATLAB\R2014a\extern\lib\win64\microsoft'...-llibmwlapackmatrixDivide.c

パスの\程序文件にはスペースが含まれているので、文字'を使用しなければなりません。

mxcreatecharmatrixfromstr.cでは、#定义シンボルSPACE_PADDINGを使用して、行列内の文字ベクトル間にどの文字を使うかを定義します。値を設定するには、- dオプションを使用して 墨西哥ファイルをビルドします。

例を現在のフォルダーにコピーします。

copyfile(完整文件)(matlabroot,“外人”,“例子”,“mx”,“mxcreatecharmatrixfromstr.c”),'.',“f”)

SPACE_PADDING命令を設定して、値の間にスペースを追加します。

墨西哥人mxcreatecharmatrixfromstr.c-空间填充
使用“MinGW64编译器C”生成。MEX已成功完成。

engwindemo.cエンジンの例を現在のフォルダーにコピーします。

copyfile(完整文件)(matlabroot,“外人”,“例子”,“eng_mat”,“engwindemo.c”),'.',“f”)
墨西哥人客户端发动机engwindemo.c

Windowsプラットフォームを使用している場合,最初にMATLABをCOMサーバーとして登録しなければなりません。詳細については,组件对象模型サーバーとしての MATLABの登録を参照してください。

例を実行します。

!engwindemo
墨西哥人-设置

MATLABは金宝app支持的和兼容的编译器のリストに基づいて,お使いのバージョンおよびシステム用のオプションを表示します。

墨西哥人リンクコマンドにオプションを追加するには,LINKFLAGSコマンド ライン オプションを使用します。たとえば、窗户でmymex.cをビルドするときに実行可能ファイルの環境を指定するには、次のように入力します。

墨西哥人- vLINKFLAGS='$LINKFLAGS/子系统:windows'mymex.c

入力引数

すべて折りたたむ

名前とファイル拡張子を含む 1.つ以上のファイル名。一串または文字ベクトルとして指定します。ファイルが現在のフォルダーにない場合は、ファイルへの絶対パスを指定します。

ファイル名には、以下を任意に組み合わせることができます。

  • C、c++またはFortran言語のソースファイル

  • 金宝app®S函数ファイル

  • オブジェクト ファイル

  • スタティックライブラリファイル。文件名はライブラリファイルへの完全修飾パスを含まなければなりません。ダイナミックライブラリをリンクするには,- llibnameオプションを使用します。

文件名のリストに最初に現れるソースコードファイルが,バイナリ墨西哥人ファイルまたはエンジンアプリケーションの名前になります。この命名規則をオーバーライドするには,“-输出”オプションを使用します。

MATLABエディターを使用してソースコードを作成します。微软®Visual Studio®またはXcodeなどの統合開発環境(IDE)を使用する場合,墨西哥人コマンドを使用するか、墨西哥人スクリプトオプションによるカスタムビルドのガイドラインに従うことができます。

MATLABは、コンパイラがインストールされている場合には、文件名引数の言語に基づいて,自動的にコンパイラを選択します。

データ型:烧焦

リリース固有のC行列 美国石油学会またはFortran行列 美国石油学会をもつリンク。次の値のいずれかとして指定します。これらのオプションを組み合わせないでください。

このオプションは、MATLABデータ 美国石油学会を使用する墨西哥人ファイルまたはエンジンアプリケーションに使用しないでください。

API 説明

-R2017b(既定)

以下でビルドされます。

  • MATLAB R2017b以前の Cおよび Fortran行列 美国石油学会の機能が含まれている実数/虚数分離型複素数 应用程序编程接口。

  • 要素数が 2.311を超える配列を扱う大規模配列ハンドリングAPI。

  • グラフィックス オブジェクトのハンドルをではなく对象として扱う。

MATLABの将来のバージョンでは、既定のapiオプションによってインターリーブされた複素数 原料药(-R2018a)を使用するように変更されます。MathWorksでは、アプリケーションを作成して既存のアプリケーションを更新し、インターリーブされた複素数 API を使用することを推奨しています。あるいは、MX_HAS_INTERLEAVED_COMPLEXマクロを使用して、MATLABのバージョン間で確実に望ましい動作になるようにします。詳細については、MATLABの 墨西哥関数におけるインターリーブされた複素数 美国石油学会のサポートを参照してください。

-R2018a

以下でビルドされます。

MATLAB R2018aで、インターリーブされた複素数 美国石油学会によってビルドされた Fortran MEXファイルを実行するには、MATLAB R2018a更新3を使用しなければなりません。

-largeArrayDims

以下でビルドされます。

  • 実数/虚数分離型複素数API

  • 大規模配列ハンドリング 美国石油学会

  • グラフィックス オブジェクトのハンドルをではなく对象として扱う。ハンドルをとして扱うには、このオプションを-DMEX_DOUBLE_HANDLEと組み合わせます。

-相容性

以下でビルドされます。

  • 実数/虚数分離型複素数API

  • 配列の要素数を 2.31-1 に制限する 版本7.2の配列ハンドリング 美国石油学会

  • グラフィックス オブジェクトのハンドルをではなく对象として扱う。ハンドルをとして扱うには、このオプションを-DMEX_DOUBLE_HANDLEと組み合わせます。

拉帕克関数または 布拉斯関数を呼び出す場合、-相容性オプションを使用しないでください。

C墨西哥人s函数のみで既定のオプション。

例:墨西哥人-R2018a explore.c

ビルド オプション (オプション)。以下のいずれかの値として指定します。オプションは、指示がある場合を除き、任意のプラットフォームで任意の順序で指定できます。

オプション 説明

@rspfile

Windows RSPファイルを使用します。RSPファイルは、コマンド ライン オプションを含むテキスト ファイルです。非 ASCII码文字はサポートされません。

- c

オブジェクト ファイルのみをコンパイルします。バイナリ 墨西哥ファイルはビルドしません。

-客户端引擎

エンジン アプリケーションをビルドします。

- d符号名
- d符号名=符号值
- u符号名

- dオプションはCプリプロセッサマクロを定義します。ソースファイル内での以下と等価です。

  • #定义符号名

  • #定义符号名符号值

- uオプションはCプリプロセッサマクロ符号名のすべての初期定義を削除します(- dオプションの逆)。

DまたはU符号名との間にスペースを追加しないでください。=記号の前後にスペースを追加しないでください。

例:コンパイラ命令を定義

- f文件路径

既定のコンパイラ選択をオーバーライドします。文件路径は 一串または文字ベクトルとして指定されるコンフィギュレーション ファイルの名前および絶対パスです。既定以外のコンパイラの詳細については、既定のコンパイラの変更を参照してください。

- fオプションを使用してエンジンアプリケーションをビルドしないでください。代わりに-客户端引擎オプションを使用してください。

- g

シンボリック情報を追加し,ビルドされたオブジェクトコードの最適化を無効にします。デバッグに使用します。最適化を使用してデバッグする場合は,- oオプションを追加します。

-h[elp]

墨西哥人のヘルプを表示します。オペレーティング システムのプロンプトから使用します。

-我路径名

#包括ファイルを検索するフォルダーのリストへ路径名を追加します。

路径名の間にスペースを追加しないでください。

例:インクルード ファイルへのパスを指定する

- llibname
- llibfolder- llibname

ダイナミック オブジェクト ライブラリlibnameとリンクします。オプションでフォルダーlibfolderを指定できます。

MATLABはlibnameを以下のファイルに展開します。

  • libnamelib先生または自由libnamelib先生-窗户システム

  • 自由libname. dylib马科斯システム

  • 自由libname所以-Linuxシステム

使用する場合,- lオプションは- lオプションの前に置かなければなりません。Linuxシステムまたは马科斯システムで- lオプションを使用する場合は,ランタイム ライブラリ パスの設定で説明されているとおり、ランタイム ライブラリのパスも設定しなければなりません。

Llibnameの間,またはLlibfolderの間にスペースを追加しないでください。

- lオプションは小文字のLで指定します。

スタティック ライブラリをリンクするには、文件名入力引数を使用します。

例:ライブラリ ファイルへのパスを指定する

- n

墨西哥人が実行するコマンドを表示します。ただし、実行はしません。

例:ビルド コマンドをプレビューする

- o

オブジェクト コードを最適化します。最適化を使用してコンパイルするには、このオプションを使用します。

最適化は既定で有効になっています。- gオプションを- oオプションなしで入力すると、最適化は無効になります。

このオプションは大文字のOで指定します。

-奥特迪尔目录名

すべての出力ファイルをフォルダー目录名へ保存します。

例:個別のオブジェクトファイルへのリンクを作成する

-输出mexname

既定の墨西哥人ファイル命名メカニズムをオーバーライドします。適切な墨西哥人ファイル拡張子をもつ,mexnameという名前のバイナリ 墨西哥ファイルを作成します。

例:ワイルド カードを使用したソース ファイルの結合

-设置

言語 墨西哥ファイルまたはエンジン アプリケーションをビルドするように、既定のコンパイラを変更します。このオプションを使用すると、墨西哥人はその他のコマンド ライン オプションをすべて無視します。

-沉默的

情報を伝えるメッセージを非表示にします。墨西哥人コマンドは,-沉默的を指定した場合でもエラーと警告を報告します。

- u符号名

Cプリプロセッサマクロの符号名のすべての初期定義を削除します(- dオプションの逆)。

U符号名の間にスペースを追加しないでください。

- v

詳細モードでビルドします。すべてのコマンド ライン引数が処理された後、内部変数の値を表示します。コンパイルおよびリンクの各ステップのすべての評価を表示します。コンパイラ設定の問題のトラブルシューティングに使用します。

例:ビルドとトラブルシューティングの詳細情報の表示

变量名=varvalue

変数变量名の既定の設定をオーバーライドします。コマンドライン引数がすべて処理された後に,このオプションが処理されます。

例:既定のコンパイラ スイッチ オプションのオーバーライド.

言語。次の大文字と小文字を区別しない値のいずれかとして指定します。

C

Cコンパイラ(c++を含む)

C++またはCPP

c++コンパイラ

Fortran

Fortranコンパイラ

ヒント

  • 墨西哥人は以下の場所から実行できます。

    • MATLABコマンド ウィンドウ

    • 窗户システム プロンプト

    • 马科斯ターミナル

    • Linuxシェル

    MATLAB以外のコマンドラインで使用する場合,墨西哥人プログラムは,UNIXの[matlabroot'/bin']のおよび窗口[matlabroot ' \ bin \ win64 ']で指定されたフォルダーに格納されています。

  • 墨西哥ファイルの拡張子はプラットフォームによって異なります。さまざまなプラットフォーム用のバイナリ 墨西哥ファイルを同じフォルダーに配置できます。墨西哥ファイルの拡張子を識別するには、関数mexextを使用してください。

    墨西哥ファイルのプラットフォーム依存の拡張子

    プラットフォーム バイナリ 墨西哥ファイルの拡張子

    Linux(64ビット)

    mexa64

    苹果雨衣(64 ビット)

    mexmaci64

    Windows(64ビット)

    mexw64

  • 墨西哥人を使用してスタンドアロンのMATLABエンジンアプリケーションの実行可能ファイルをビルドするには,-客户端引擎オプションを使用してください。

  • 墨西哥人コマンドは、二重引用符 (") を含むフォルダー名をサポートしません。

R2006aより前に導入