CreateObjectFile
This feature is not supported on the Wolfram Cloud.


compiles a string of C code and creates an object file, .


compiles a C source file and creates an object file, .

DetailsDetails

  • To use , you first need to load the CCompilerDriver package using Needs["CCompilerDriver`"].
  • If source is a string, treats it as C code. If source is a list of one or more strings, it treats it as a list of files that contain C code.
  • If cannot find a suitable C compiler, it issues a message and returns $Failed.
  • The extension given to the object file depends on the platform on which it is created.
  • The following options can be given:
  • "Compiler"Automaticthe compiler to use
    "CleanIntermediate"Automaticwhether temporary files should be deleted
    "CreateBinary"Truewhether the object file should be created
    "CompileOptions"""options to pass through to the compiler
    "CompilerInstallation"Automaticlocation of the compiler software
    "CompilerName"Automaticwhich compile command to use
    "Debug"Falsecompiles with debug information, does not clean the intermediate output, and prints the compile commands and output
    "Defines"{}C preprocessor defines to use for the build
    "IncludeDirectories"{}directories to add to the include path
    "Language"Automaticwhat language the source code is in (can be used to assume source is C or C++ rather than relying on automatic detection)
    "PreCompileCommands"""shell commands to run before compilation
    "PostCompileCommands"""shell commands to run after compilation
    "ShellCommandFunction"Nonefunction to call with the shell commands used for compilation
    "ShellOutputFunction"Nonefunction to call with the shell output of running the compilation commands
    "SystemCompileOptions"{}options to pass through to the compiler before
    "SystemIncludeDirectories"Automaticdirectories to locate Wolfram Language header files
    "TargetDirectory"Automaticthe directory in which the executable file should be created
    "TargetSystemID"$SystemIDthe system for which output should be generated
    "WorkingDirectory"Automaticthe directory in which temporary files should be generated

ExamplesExamplesopen allclose all

Basic Examples  (1)Basic Examples  (1)

Load the CCompilerDriver package:

In[1]:=
Click for copyable input

Define a C function and compile it to an object file:

In[2]:=
Click for copyable input
Out[2]=

Include the object file with a main that uses it and compile it all into an executable:

In[3]:=
Click for copyable input
Out[3]=

Run the executable with and :

In[4]:=
Click for copyable input
Out[4]=

Compare the results to those computed by the Wolfram Language:

In[5]:=
Click for copyable input
Out[5]=