Type: Boolean
Default: FALSE
Generates additional code so that external, non-VI code can call the VIs as if the VIs are library functions. This attribute is supported only for strings, 1D arrays, and flat clusters, which are clusters that contain only scalars. For example, you cannot use a cluster that contains a string.
The LabVIEW C Code Generator generates a C function interface for each VI, which configures the inputs and calls the normal LabVIEW VI interface. The C function name is the same as the VI name unless the VI name contains a disallowed character, such as a space, in the filename. Underscores replace disallowed characters. The VI behaves the same as a VI running under the My Computer target, which runs on Windows, by using default data if any input or output is null. A header file is created that contains all of the function prototypes for the VIs that can be included where they are called. The header file has the same name as the top-level VI appended with Lib.h. Inputs are passed by value except structs, which are passed by address.
A size parameter for both inputs and outputs follows the array and string parameters. For an array, the size is the total number of elements in the array. For a string, the size is the length of the string. If you pass in a multi-dimensional array, it is copied into an internal array with the LabVIEW data type determining the number of dimensions. All of the dimension sizes are set to 1 except for the innermost dimension, which is equal to the size passed in from internal data. For an output array, the data is block copied to the output up to the specified size limit. The easiest way to pass arrays is as 1D arrays that get reshaped as necessary on the block diagram.