You can use FuncList.dat to override subVI calls with C function calls. For example, the Semaphore VIs use a CIN, which embedded targets do not support. For embedded targets, the Semaphore VIs have an alternate implementation that makes direct calls to a C function instead. Adding entries to FuncList.dat is how you provide an alternative implementation. Using FuncList.dat removes the overhead of subVI calls and can produce substantial performance improvements in embedded applications you develop with LabVIEW. SubVI calls have overhead to support multithreading, reentrancy, front panel controls and indicators, and so on.
FuncList.dat is useful when you wrap high performance, target-specific C function calls into subVIs. Creating subVI wrappers provide a better experience in LabVIEW so you can have the best of both—the ease of use of LabVIEW and the performance of an optimized C function call. Refer to the LabVIEW Embedded Development Module Target Distribution Guide, available by selecting Start»All Programs»National Instruments»LabVIEW»LabVIEW Manuals and opening EMB_Distribution_Guide.pdf, for information about additional ways to wrap C functions so the functions are easier to use in LabVIEW.
![]() | Caution National Instruments originally created FuncList.dat for internal use only. Entries in FuncList.dat have specific formatting requirements and contain little error checking. If the formatting is incorrect, you receive compiler errors and LabVIEW might crash when you build an embedded VI into an embedded application. |