C/C++ Language Interface

The Wolfram Language supports several levels of interfacing to C and C++ programs. You can create "installable" C programs where C functions are directly connected to Wolfram Language functions. You can use C to call the Wolfram Language through the Wolfram Symbolic Transfer Protocol (WSTP) and get full access to its capabilities. And you can create C program fragments and modify C source code.

(OrangeLink[Calling C Programs from the Wolfram Language », paclet:guide/InstallableWSTPPrograms])

(RefLink[Install, paclet:ref/Install]) — load an installable WSTP program

(RefLink[.tm, paclet:ref/file/file.tm]) — template file for connecting C and Wolfram Language functions

(RefLink[mcc, paclet:ref/program/mcc]), (RefLink[mprep, paclet:ref/program/mprep]) — scripts for building WSTP programs

(NonWLLink[WSEvaluate(), paclet:ref/c/WSEvaluate]) — call back into the Wolfram Language

(OrangeLink[Calling the Wolfram Language from C Programs », paclet:guide/WSTPCLanguageFunctions])

(OrangeLink[Wolfram LibraryLink », paclet:guide/LibraryLink])

(RefLink[LibraryFunctionLoad, paclet:ref/LibraryFunctionLoad]) — load a function from a dynamic library into the Wolfram System

(RefLink[LibraryFunction, paclet:ref/LibraryFunction]) — a function that calls into a dynamic library

(OrangeLink[Calling C Compilers from the Wolfram Language », paclet:CCompilerDriver/guide/CCompilerDriver])

(PackageLink[CreateExecutable, paclet:CCompilerDriver/ref/CreateExecutable, CCompilerDriver Package Symbol]) — create an executable from C code

(PackageLink[CreateLibrary, paclet:CCompilerDriver/ref/CreateLibrary, CCompilerDriver Package Symbol]) — create a library from C code

(OrangeLink[Generating C Code », paclet:CCodeGenerator/guide/CCodeGenerator])

(RefLink[Export, paclet:ref/Export]) — export a Wolfram Language compiled function into C code

(PackageLink[CCodeGenerate, paclet:CCodeGenerator/ref/CCodeGenerate, CCodeGenerator Package Symbol]) — export a Wolfram Language compiled function into C code

(RefLink[CForm, paclet:ref/CForm]) — convert an expression to C language form

(OrangeLink[Symbolic Representation of C Code », paclet:SymbolicC/guide/SymbolicC])

(PackageLink[CFunction, paclet:SymbolicC/ref/CFunction, SymbolicC Package Symbol]) — symbolic representation of a C function

(PackageLink[CCall, paclet:SymbolicC/ref/CCall, SymbolicC Package Symbol]) — symbolic representation of a C function call