CreateManagedLibraryExpression[mname,f]
名前 mname が登録されているマネージャに関連する正の整数のIDに f を適用することで,マネージドのライブラリ式を作る.
CreateManagedLibraryExpression
CreateManagedLibraryExpression[mname,f]
名前 mname が登録されているマネージャに関連する正の整数のIDに f を適用することで,マネージドのライブラリ式を作る.
詳細
- 名前 mname でマネージャ用に生成されたIDは1から始まり,マネージャが未登録になるまで連続的に続く.
- マネージャは,LibraryLinkコールバック関数registerLibraryExpressionManagerを使って登録される.
例題
すべて開く すべて閉じる例 (1)
単純な線形合同ランダム生成器を実装する例題LibraryFunctionオブジェクトをロードする:
setInstanceState = LibraryFunctionLoad["demo_managed", "setInstanceState", {Integer, {Integer, 1}}, "Void"];
generateFromInstance = LibraryFunctionLoad["demo_managed", "generateFromInstance", {Integer, {Integer, _}}, {Real, _}];g1 = CreateManagedLibraryExpression["LCG", randomLCG]CreateManagedLibraryExpressionで割り当てられた一意的なIDを使ってパラメータを設定する:
setInstanceState[ManagedLibraryExpressionID[g1], {1664525, 1013904223, 2 ^ 32, 0}]generateFromInstance[ManagedLibraryExpressionID[g1], {2}]スコープ (1)
単純な線形合同ランダム生成器を実装する例題のLibraryFunctionオブジェクトをロードする:
setInstanceState = LibraryFunctionLoad["demo_managed", "setInstanceState", {Integer, {Integer, 1}}, "Void"];
generateFromInstance = LibraryFunctionLoad["demo_managed", "generateFromInstance", {Integer, {Integer, _}}, {Real, _}];g1 = CreateManagedLibraryExpression["LCG", randomLCG]CreateManagedLibraryExpressionで割り当てられる一意的なIDを使ってパラメータを設定する:
setInstanceState[ManagedLibraryExpressionID[g1], {1664525, 1013904223, 2 ^ 32, 0}]generateFromInstance[ManagedLibraryExpressionID[g1], {2}]g2 = CreateManagedLibraryExpression["LCG", randomLCG];
setInstanceState[ManagedLibraryExpressionID[g2], {1664525, 1013904223, 2 ^ 32, 0}];
generateFromInstance[ManagedLibraryExpressionID[g2], {3}]最初のインスタンスは式が参照されなくなるまで使うことができる:
generateFromInstance[ManagedLibraryExpressionID[g1], {4}]履歴の式Outは,しばしば,ユーザが気付いていない式への参照を保持する:
g1str = ToString[g1];
{ManagedLibraryExpressionQ[ToExpression[g1str]], Unset[g1];ManagedLibraryExpressionQ[ToExpression[g1str]]}セッションまたはBlock内で$HistoryLength=0と設定することで,このように余分な参照を回避することができる:
Block[{$HistoryLength = 0}, g3 = CreateManagedLibraryExpression["LCG", randomLCG];];
g3str = ToString[g3]変数g3は管理されたライブラリインスタンスへの唯一の参照であるため,g3の設定が解除されると,そのライブラリインスタンスは解放され,このIDを持つ式はもはや動作しなくなる:
{ManagedLibraryExpressionQ[ToExpression[g3str]], Unset[g3];ManagedLibraryExpressionQ[ToExpression[g3str]]}LibraryFunctionUnload[generateFromInstance]
LibraryFunctionUnload[setInstanceState]テクニカルノート
関連するガイド
テキスト
Wolfram Research (2014), CreateManagedLibraryExpression, Wolfram言語関数, https://reference.wolfram.com/language/ref/CreateManagedLibraryExpression.html.
CMS
Wolfram Language. 2014. "CreateManagedLibraryExpression." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CreateManagedLibraryExpression.html.
APA
Wolfram Language. (2014). CreateManagedLibraryExpression. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CreateManagedLibraryExpression.html
BibTeX
@misc{reference.wolfram_2026_createmanagedlibraryexpression, author="Wolfram Research", title="{CreateManagedLibraryExpression}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/CreateManagedLibraryExpression.html}", note=[Accessed: 08-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_createmanagedlibraryexpression, organization={Wolfram Research}, title={CreateManagedLibraryExpression}, year={2014}, url={https://reference.wolfram.com/language/ref/CreateManagedLibraryExpression.html}, note=[Accessed: 08-September-2026]}