CreateObjectFile
This feature is not supported on the Wolfram Cloud.


Cコード文字列をコンパイルし,オブジェクトファイル を作成する.


Cソースファイルをコンパイルし,オブジェクトファイル を作成する.

詳細詳細

  • を使うにはまずNeeds["CCompilerDriver`"]でCCompilerDriverパッケージをロードしなければならない.
  • source が文字列なら, はそれをCコードであるとして扱う.source が1つ以上の文字列のリストの場合は, はそれをCコードを含むファイルのリストであるとして扱う.
  • はCコンパイラを見付けることができないときは,メッセージを生成し,$Failedを返す.
  • ライブラリに与えられる拡張子は,どのプラットフォーム用に実行ファイルを作るかによって異なる.
  • 以下のオプションが使える:
  • "Compiler"Automatic使用するコンパイラ
    "CleanIntermediate"Automatic一時ファイルを削除するかどうか
    "CreateBinary"Trueオブジェクトファイルを作るかどうか
    "CompileOptions"""コンパイラに渡すオプション
    "CompilerInstallation"Automaticコンパイラソフトウェアの場所
    "CompilerName"Automaticどのコンパイルコマンドを使うか
    "Debug"Falseデバッグ情報を使ってコンパイルし,中間出力は削除せず,コンパイルコマンドと出力を表示する
    "Defines"{}ビルドで使用するCプリプロセッサの定義
    "IncludeDirectories"{}include pathに加えるディレクトリ
    "Language"Automaticソースコードの言語(自動検出を利用するのではなく,ソースがCまたはC++であることを前提とするのに使うことができる)
    "PreCompileCommands"""コンパイルの前に実行するシェルコマンド
    "PostCompileCommands"""コンパイルの後に実行するシェルコマンド
    "ShellCommandFunction"Noneコンパイルで使用するシェルコマンドで呼び出す関数
    "ShellOutputFunction"Noneコンパイルコマンドの実行によるシェル出力で呼び出す関数
    "SystemCompileOptions"{}の前にコンパイラに渡すオプション
    "SystemIncludeDirectories"AutomaticWolfram言語ヘッダファイルを置くディレクトリ
    "TargetDirectory"Automatic実行ファイルが作られるディレクトリ
    "TargetSystemID"$SystemIDどのシステム用の出力を生成するか
    "WorkingDirectory"Automatic一時ファイルを生成するためのディレクトリ

例題例題すべて開くすべて閉じる

  (1)  (1)

CCompilerDriverパッケージをロードする:

In[1]:=
Click for copyable input

C関数を定義し,コンパイルしてオブジェクトファイルを作る:

In[2]:=
Click for copyable input
Out[2]=

オブジェクトファイルを使うmainでそれをインクルードし,コンパイルして実行ファイルにする:

In[3]:=
Click for copyable input
Out[3]=

および で実行ファイルを実行する:

In[4]:=
Click for copyable input
Out[4]=

Wolfram言語で計算したものと結果を比較する:

In[5]:=
Click for copyable input
Out[5]=