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:
-
CompilerEnvironment Automatic an environment of definitions for compilation CompilerOptions Automatic detailed options for the compilation pipeline ProgressReporting Automatic how to report progress during the compilation TargetSystem Automatic $SystemID for the target architecture - 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:
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)
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:
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