FunctionCompileExport
FunctionCompileExport ["file.ext",fspec]
exports a compiled version of functions fspec in the format specified by the file extension ext.
FunctionCompileExport [path,defs,fspec]
exports a compiled version of fspec using local auxiliary definitions defs.
FunctionCompileExport [path,fspec,"format"]
exports in the specified format.
FunctionCompileExport [path,defs,fspec,"format"]
exports a compiled version using local auxiliary definitions.
Details and Options
- By default, FunctionCompileExport exports object or assembler code suitable for the machine architecture on which it is being run.
- Functions can be given as a Function pure function, a list of pure functions or an association of pure functions.
- Auxiliary definitions can be given with FunctionDeclaration or by giving a CompilerEnvironment option.
- The following file extensions and export formats are supported:
-
".asm", ".s" "Assembler" textual assembler code".o", ".obj" "Binary" binary machine code".ll" "LLVM" LLVM textual intermediate code".bc" "LLVMBinary" LLVM binary code
- The following options can be given:
- FunctionCompileExport returns the name of the file that it created.
- In FunctionCompileExport [path,func,…], func can be a CompiledCodeFunction object.
Examples
open allclose allBasic Examples (3)
Export a compiled version of a function into a file:
The export format can be determined from the file name:
The export format can be given explicitly:
LLVM IR can be generated:
Several functions can be compiled with FunctionCompileExport :
It can be useful to use an association to hold the functions:
Auxiliary definitions can be given with FunctionDeclaration :
Options (3)
CompilerEnvironment (1)
Create a compiler environment and add a function definition:
Use a compiler environment in a compilation:
ProgressReporting (1)
Progress during a compilation is reported:
This can be suppressed by setting the option ProgressReporting to False .
The default value of ProgressReporting is Automatic , which means that the global setting $ProgressReporting is used. If this is set to False , then no progress reporting takes place.
TargetSystem (1)
The default setting of Automatic generates code for the machine architecture on which it is being run:
TargetSystem can be set to the $SystemID of the desired platform:
TargetSystem can be set for architectures for which the Wolfram Engine does not exist:
Related Guides
Text
Wolfram Research (2019), FunctionCompileExport, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionCompileExport.html (updated 2021).
CMS
Wolfram Language. 2019. "FunctionCompileExport." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/FunctionCompileExport.html.
APA
Wolfram Language. (2019). FunctionCompileExport. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FunctionCompileExport.html
BibTeX
@misc{reference.wolfram_2025_functioncompileexport, author="Wolfram Research", title="{FunctionCompileExport}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/FunctionCompileExport.html}", note=[Accessed: 25-April-2025 ]}
BibLaTeX
@online{reference.wolfram_2025_functioncompileexport, organization={Wolfram Research}, title={FunctionCompileExport}, year={2021}, url={https://reference.wolfram.com/language/ref/FunctionCompileExport.html}, note=[Accessed: 25-April-2025 ]}