Install

Install["name"]

starts a WSTP-compatible external program and installs Wolfram Language definitions to call functions in it.

Details and Options

  • The Wolfram Language definitions set up by Install are typically specified in the WSTP template file used to create the source code for the external program.
  • Install["prog"] will launch the specified program, then connect to it via WSTP.
  • If prog is a directory, Install["prog"] will try to execute prog/$SystemID/prog.
  • Install[File["name"]] is equivalent to Install["name"].
  • Install["name`"] searches all directories on $Path for a file or directory called name.exe.
  • Install[link] will take an existing LinkObject and set up what is needed to call functions in the program corresponding to that LinkObject.
  • Install returns a LinkObject representing the WSTP connection it is using.
  • LinkPatterns[link] gives a list of the patterns defined when the specified link was set up.
  • You can remove these definitions and terminate the execution of the external program by calling Uninstall[link].
  • Install[LinkConnect["port"]] will install an external program that has created a link on the specified port. You can use this to call external programs that have been started in a debugger or on a remote computer system.
  • If you call Install["command"] multiple times with the same command, the later calls will overwrite definitions set up by earlier ones, unless the definitions depend on the values of global variables that have changed.
  • Install sets up definitions that send CallPacket objects to the external program whenever functions in it are called, and waits for results to be returned in ReturnPacket objects.
  • The external program can send EvaluatePacket objects back to the Wolfram Language to request evaluations while the program is running.

Examples

open allclose all

Basic Examples  (1)

Set the directory:

In[1]:=
Click for copyable input

Install an external WSTP-compatible program:

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

Get usage information about linked-in symbols:

In[3]:=
Click for copyable input

Use the new function:

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

Terminate the external program:

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

Reset to the original directory:

In[6]:=
Click for copyable input

Scope  (1)

See Also

Get  Run  RunThrough  LinkLaunch  Uninstall  $CurrentLink

Tutorials

Introduced in 1991
(2.0)
| Updated in 2016
(11.0)