CreateManagedLibraryExpression[mname,f]
通过将 f 应用于正整数标识创建一个托管库表达式,其中该正整数标识与名称为 mname 的注册管理器相关联.
CreateManagedLibraryExpression
CreateManagedLibraryExpression[mname,f]
通过将 f 应用于正整数标识创建一个托管库表达式,其中该正整数标识与名称为 mname 的注册管理器相关联.
更多信息
- 给名称为 mname 的管理器所生成的标识从 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 所分配的唯一标识来设置它的参数:
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 语言. 2014. "CreateManagedLibraryExpression." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/CreateManagedLibraryExpression.html.
APA
Wolfram 语言. (2014). CreateManagedLibraryExpression. Wolfram 语言与系统参考资料中心. 追溯自 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: 11-August-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: 11-August-2026]}