BuildCompiledComponent[comp]
コンパイルされたコンポーネント comp をビルドする.
BuildCompiledComponent[comp,dest]
コンパイルされたコンポーネント comp をビルドし,結果を dest に置く.
BuildCompiledComponent
BuildCompiledComponent[comp]
コンパイルされたコンポーネント comp をビルドする.
BuildCompiledComponent[comp,dest]
コンパイルされたコンポーネント comp をビルドし,結果を dest に置く.
詳細とオプション
- コンパイルされたコンポーネントを使ってコンパイラ宣言の名前付きグループを表す.
- コンパイルされたコンポーネントを使ってコンパイラからビルドされた共有ライブラリを表す.
- コンパイルされたコンポーネントはパクレットに埋め込める.
- comp はCompiledComponentオブジェクトとしてあるいはコンパイルされたコンポーネントの名前を持つ文字列として与えることができる.
- コンパイルされたコンポーネントはDeclareCompiledComponentによって作成される.
- 通常,BuildCompiledComponentによるコンポーネントのビルドには,ライブラリ関数のコンパイル版とターゲットコンポーネントからのインストールされた関数を含む共有ライブラリの作成が含まれる.
- BuildCompiledComponentでビルドしたライブラリはLoadCompiledComponentでロードできる.
- BuildCompiledComponentの行き先が設定されていなければ,ライブラリは"$UserBaseDirectory/SystemFiles/LibraryResources/$SystemID"に格納される.
- BuildCompiledComponentの行き先は文字列としてあるいはFileオブジェクトを使って与えられたファイルパスでよい.
- BuildCompiledComponentの行き先はPacletObjectでよい.これはライブラリをパクレット内の"LibraryResources/$SystemID"に置く.
- 次は使用可能なオプションである.
-
CompilerEnvironment Automatic デフォルトでコンポーネント内に宣言を含むコンパイラ環境 CompilerOptions Automatic コンパイルを制御するオプション CreateIntermediateDirectories Automatic 宛先パスに中間ディレクトリを作成するかどうか ProgressReporting Automatic コンパイル中の進捗状況の報告方法
例題
すべて開く すべて閉じる例 (1)
DeclareCompiledComponent["demoComp", "LibraryFunctions" -> <|
"square" -> Function[{Typed[arg, "Real64"]}, arg ^ 2]
|>];BuildCompiledComponent["demoComp"]res = LoadCompiledComponent["demoComp"]res["LibraryFunctions"]["square"][10.5]スコープ (1)
DeclareCompiledComponent["fullComponent", {
FunctionDeclaration[return12, Typed[{} -> "MachineInteger"]@Function[{}, 12]],
FunctionDeclaration[addtwo, Typed[{"MachineInteger"} -> "MachineInteger"]@Function[x, x + 2]]
}];DeclareCompiledComponent["fullComponent", "LibraryFunctions" -> <|
"libFunc" -> Function[Typed[arg, "Real64"], Sqrt[arg]]
|>];DeclareCompiledComponent["fullComponent", "InstalledFunctions" -> addtwo];BuildCompiledComponent["fullComponent"]addtwo[3]コンポーネントを明示的にロードしてビルドされたライブラリ関数にアクセスする:
LoadCompiledComponent["fullComponent"]オプション (4)
CompilerOptions (1)
CompilerEnvironment (1)
compEnv = CreateCompilerEnvironment[];
CompilerEnvironmentAppendTo[
compEnv,
FunctionDeclaration[add42, Typed[{"MachineInteger"} -> "MachineInteger"]@Function[x, x + 42]]
]このコンパイラ環境を参照する関数を,コンパイル済みコンポーネント内で宣言する:
DeclareCompiledComponent["environmentComponent", "LibraryFunctions" -> <|
"add42" -> Function[{Typed[x, "MachineInteger"]}, add42[x]]
|>]BuildCompiledComponent["environmentComponent", CompilerEnvironment -> compEnv]loadedComp = LoadCompiledComponent["environmentComponent"];
loadedComp["LibraryFunctions", "add42"][10]CreateIntermediateDirectories (1)
DeclareCompiledComponent["demoCreateDirs", "LibraryFunctions" -> <|"cube" -> Function[{Typed[x, "Real64"]}, x ^ 3]|>
]buildDir = FileNameJoin[{$TemporaryDirectory, "compiled", "components", "nested"}]BuildCompiledComponent["demoCreateDirs", buildDir, CreateIntermediateDirectories -> False]BuildCompiledComponent["demoCreateDirs", buildDir, CreateIntermediateDirectories -> True]ProgressReporting (1)
DeclareCompiledComponent["progressComponent", "LibraryFunctions" -> <|
"libFunc" -> Function[{Typed[s, "String"]}, ToCharacterCode[s]]
|>];
BuildCompiledComponent["progressComponent"][image]ProgressReportingをFalseに設定すると報告されなくなる.
BuildCompiledComponent["progressComponent", ProgressReporting -> False]ProgressReportingのデフォルト値はAutomaticであるが,これは大域設定$ProgressReportingが使われることを意味する.これをFalseに設定すると,進捗状況は報告されなくなる.
テクニカルノート
関連するガイド
テキスト
Wolfram Research (2022), BuildCompiledComponent, Wolfram言語関数, https://reference.wolfram.com/language/ref/BuildCompiledComponent.html.
CMS
Wolfram Language. 2022. "BuildCompiledComponent." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/BuildCompiledComponent.html.
APA
Wolfram Language. (2022). BuildCompiledComponent. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BuildCompiledComponent.html
BibTeX
@misc{reference.wolfram_2026_buildcompiledcomponent, author="Wolfram Research", title="{BuildCompiledComponent}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/BuildCompiledComponent.html}", note=[Accessed: 18-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_buildcompiledcomponent, organization={Wolfram Research}, title={BuildCompiledComponent}, year={2022}, url={https://reference.wolfram.com/language/ref/BuildCompiledComponent.html}, note=[Accessed: 18-August-2026]}