Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
CCompilerDriver >

CreateLibrary


Cコードの文字列をコンパイルし,ライブラリファイル を作成する.

複数のCソースファイルをコンパイルし,ライブラリファイル を作成する.
  • を使うにはまずNeedsでCCompilerDriverパッケージをロードしなければならない.
  • 第1引数が文字列なら,はそれをCコードであるとして扱う.第1引数が1つ以上の文字列のリストの場合は,Cコードを含むファイルのリストであるとして扱われる.
  • は適切なCコンパイラを見付けることができないときは,メッセージを生成し,$Failedを返す.
  • ライブラリに与えられる拡張子は,どのプラットフォーム用に実行ファイルを作るかによって異なる.
  • 以下のオプションが使える:
"Compiler"Automatic使用するコンパイラ
"CleanIntermediate"Automatic一時ファイルを削除するかどうか
"CreateBinary"Trueライブラリファイルを作るかどうか
"CompileOptions"""コンパイラに渡すオプション
"CompilerInstallation"Automaticコンパイラソフトウェアの場所
"CompilerName"Automaticどのコンパイルコマンドを使うか
"Debug"Falseデバッグ情報を使ってコンパイルし,中間出力は削除せず,コンパイルコマンドと出力を表示する
"Defines"{}ビルドで使用するCプリプロセッサの定義
"ExtraObjectFiles"{}実行ファイルに含める,コンパイル済みのオブジェクトファイル
"IncludeDirectories"{}include pathに加えるディレクトリ
"Language"Automaticソースコードの言語(自動検出を利用するのではなく,ソースがCまたはC++であることを前提とするのに使うことができる)
"Libraries"{}実行ファイルの構築に使用するライブラリ
"LibraryDirectories"{}ライブラリ検索パスに加えるディレクトリ
"LinkerOptions"{}リンカに渡すオプション
"PreCompileCommands"""コンパイルの前に実行するシェルコマンド
"PostCompileCommands"""コンパイルの後に実行するシェルコマンド
"ShellCommandFunction"Noneコンパイルで使用するシェルコマンドで呼び出す関数
"ShellOutputFunction"Noneコンパイルコマンドの実行によるシェル出力で呼び出す関数
"SystemCompileOptions"{}の前にコンパイラに渡すオプション
"SystemIncludeDirectories"AutomaticMathematica ヘッダファイルを置くディレクトリ
"SystemLibraries"AutomaticMathLink 等の Mathematica ライブラリ
"SystemLibraryDirectories"AutomaticMathematica ライブラリを置くディレクトリ
"SystemLinkerOptions"{}の前にリンカに渡すオプション
"TargetDirectory"Automatic実行ファイルが作られるディレクトリ
"TargetSystemID"$SystemIDどのシステム用の出力を生成するか
"WorkingDirectory"Automatic一時ファイルを生成するためのディレクトリ
  • オプションは4つの設定のうちの一つが取れる.デフォルトのAutomaticでは,Windows以外ではすべての中間出力ファイルが削除される.Windowsではライブラリを使ってファイルをコンパイルするときに必要な.expファイルと.libファイルは削除されない.Trueではすべての中間出力ファイルが削除される.Falseでは中間出力ファイルは削除されない.Fullでは,作業ディレクトリにあるファイルは中間出力ファイルであってもなくてもすべて削除される.
  • 結果が完全に Mathematica と独立である必要があるなら,オプションをに設定しなければならない.これにより,リンク段階で MathLink ライブラリが含まれないようになる.
まずパッケージをロードする:
ライブラリのソース:
ライブラリを作成する:
LibraryFunctionLoadでライブラリをロードする:
ライブラリの関数が呼び出される:
まずパッケージをロードする:
In[1]:=
Click for copyable input
ライブラリのソース:
In[2]:=
Click for copyable input
ライブラリを作成する:
In[3]:=
Click for copyable input
Out[3]=
LibraryFunctionLoadでライブラリをロードする:
In[4]:=
Click for copyable input
Out[4]=
ライブラリの関数が呼び出される:
In[5]:=
Click for copyable input
Out[5]=
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
フォーマット:   HTML  |  CDF