ライブラリの作成
This feature is not supported on the Wolfram Cloud.

CCompilerDriverパッケージを使うと,コンピュータにインストールされているCコンパイラが使えるようになる.オプションCompilationTargetを"C"と設定すると,CCompilerDriverパッケージはWolframシステムコンパイラによって自動的に使われるものであるが,自分でもC言語で書いたソースコードから独自の実行ファイル,ライブラリ,オブジェクトファイルを構築するのに使うこともできる.

このセクションではこれらのツールを使って実行ファイルを作る方法について述べる.ライブラリを作るための中心となる関数はCreateLibraryである.これらの例では,SymbolicCを使う.

まずパッケージをロードする.

In[1]:=
Click for copyable input

基本的なC関数を作る

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

コードをコンパイルしてライブラリを作る.

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

入力が1つまたは複数のCコードからきている場合は,それらはCreateLibraryにリストで与えることができる.

生成されたライブラリの拡張子は,作成されるライブラリのタイプに応じて加えられる.

Windowsでは,スタブLIBファイルとエキスポートEXPファイルも作られる.

オプションと設定についてのより詳しい情報はコンパイルの設定セクションに記載されている.

Wolfram Libraries

Wolfram言語カーネルは関数を直接呼び出すことができるように,ダイナミックライブラリのロードをサポートしているこれについてはWolfram Library Link のドキュメントに記載されている.CCompilerDriverパッケージを使うと作業の多くをWolfram言語内から実行することができるため,これらのライブラリの構築に便利である.

Wolfram Librariesのメインとなるヘッダファイルには,種々のプラットフォームで動作するCコードを書くことを容易にするいくつかの定義が含まれている.

CCompilerDriverパッケージにはCコードのサンプルが含まれている.マシンにCコンパイラがインストールされているなら,ドキュメントに示すようにサンプルを使ってみることができる.

まずパッケージをロードする.

In[1]:=
Click for copyable input

パッケージ内のサンプルソースファイルを探し,それを表示する.

ライブラリを作成し,完全パスを返す.

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

適切なCコンパイラがない場合は,コンパイルは失敗し,メッセージが生成される.

このライブラリはWolfram Libraryとして書かれている.したがって,関数はLibraryFunctionLoadを使ってロードできる.

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

LibraryFunctionを呼び出す.

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

Wolfram Library Link のドキュメントにも例が載っている.