はじめに

Wolfram言語からコード生成を行うには,Wolfram言語で書かれたプログラムを別の言語に変換してから,そのプログラムが実行できるようにサポートする必要がある.Wolframシステムのコンパイラは,C言語へのコード生成のシステムを提供する.

使用モードの一つにWolfram Libraryに従うCコードを作成するということがある.これはCコンパイラでコンパイルしてWolfram言語にリンクさせることができる.CompileCompilationTargetオプションは"C"に設定されると,この方法を使う.CompilationTargetのチュートリアルにこれは詳しく記載されている.

もう一つの方法は,Wolfram言語の外部で使用できるCコードを生成する方法である.これはWolfram言語外部で実行されるので,コンパイラからの外部への呼出しはサポートされない.これはつまり,IntegrateNDSolve等のWolfram言語を真に必要とする高レベルのWolfram言語の関数はサポートされないということである.逆に,コードがコンパイラで処理できるWolfram言語の関数に基づくものである場合には,Wolfram言語の外部でも使用できるということである.これはCコードをサポートするために提供されるランタイムライブラリによって行う.

コード生成器を使う方法の一つにExportおよびExportStringを呼び出す方法がある.以下ではWolfram言語の関数からCコードのフラグメントを作成する.これは共有ライブラリ内にコンパイルすることができる.

ExportはCファイルとCヘッダファイルの両方を返す.Cファイルの内容をチェックすることができる.

このコードを見ると,使用のために解決しなければならない問題がいくつかあることが分かる.WolframLibraryDataの作成等の関数実装を提供するライブラリがこれに含まれる.これらの問題についてはこのチュートリアルの別のセクションで詳しく説明する.