Compile
更多信息和选项
- 由 Compile 处理的类型是:
-
_Integer 机器整数 _Real 机器精度的近似实数(缺省) _Complex 机器精度近似复数 True | False 逻辑变量 - 作为经过编译的函数的输入给出的嵌套列表必须是全数值数组.
- Compile 处理数值函数、矩阵运算、程序式编程结构、列表操作函数以及函数式编程结构等等.
- Compile 生成 CompiledFunction 对象.
- 经过编译的代码处理数值精度和局部变量的方式与普通的 Wolfram 语言代码不同.
- 如果不能用经过编译的代码对有特殊参数的经过编译的函数求值,则使用普通的 Wolfram 语言代码代替.
- 普通 Wolfram 语言代码可以从经过编译的代码内部调用. 由 Wolfram 语言代码获得的结果假设是近似实数除非特别指明,否则由 Compile 的第三个参数指定.
- 用 Compile 计算的对象的次数和次序可能和普通的 Wolfram 语言代码不同.
- Compile 有属性 HoldAll,在默认情况下在编译前并不进行计算.
- 可以使用 Compile[…,Evaluate[expr]] 指定 expr 应当在编译前进行符号性计算.
- 可以给出下列选项:
-
CompilationOptions Automatic 编译过程的选项 CompilationTarget $CompilationTarget 代码产生的目标运行时间 Parallelization Automatic 经过编译的函数执行的并行控制 RuntimeAttributes {} 经过编译的函数的计算属性 RuntimeOptions Automatic 经过编译的函数的运行时间选项
范例
打开所有单元 关闭所有单元基本范例 (1)
选项 (9)
CompilationOptions (1)
通过避免计算同样的结果超过一次,Automatic 的默认设置产生效率更高的代码:
Parallelization (2)
RuntimeAttributes (3)
如果存在一个分支,可列表性(listability)需要定义一个函数,如下所示,使用 Function:
使用可列表属性通常比多次调用 CompiledFunction 更快:
可能存在的问题 (1)
历史
1991年引入 (2.0) | 在以下年份被更新:1996 (3.0) ▪ 2010 (8.0)
文本
Wolfram Research (1991),Compile,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Compile.html (更新于 2010 年).
CMS
Wolfram 语言. 1991. "Compile." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2010. https://reference.wolfram.com/language/ref/Compile.html.
APA
Wolfram 语言. (1991). Compile. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Compile.html 年
BibTeX
@misc{reference.wolfram_2025_compile, author="Wolfram Research", title="{Compile}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/Compile.html}", note=[Accessed: 01-May-2026]}
BibLaTeX
@online{reference.wolfram_2025_compile, organization={Wolfram Research}, title={Compile}, year={2010}, url={https://reference.wolfram.com/language/ref/Compile.html}, note=[Accessed: 01-May-2026]}