Using LabWindows/CVI Libraries in RT Applications
- Updated2023-02-21
- 4 minute(s) read
Using LabWindows/CVI Libraries in RT Applications
To build a DLL that you can run on a real-time (RT) target, you must select Real-time only in the Run-time support option of the Target Settings dialog box.
If you select Real-time only, the project does not link to the entire set of LabWindows/CVI libraries but instead links to a smaller set of LabWindows/CVI built-in library functions that are supported in RT applications.
LabWindows/CVI Libraries
The following libraries and functions are supported in RT applications:
- Analysis Library or Advanced Analysis Library
- ANSI C Library, with the following exceptions:
Note Only the "C" locale is recognized, and all case-sensitive functions, such as stricmp and tolower, perform conversions only from characters a-z to characters A-Z, and vice-versa, and perform comparisons using only this set of characters. Locale-specific case sensitivity is not honored. - Any functions that interact with the keyboard or that require user input are not available.
- The multibyte to wide-character conversion functions mbtowc and mbstowcs are not available. The wide-character to multibyte conversion functions wctomb and wcstombs are not available.
- Formatting and I/O Library, with the following exceptions:
- ArrayToFile
- FileToArray
- Internet Library, with the following exceptions:
Note The Internet Library is available only in the LabWindows/CVI Full Development System. - InetLaunchDefaultWebBrowser
- InetPing
- Network Streams Library
- Network Variable Library, with the following exception:
- CNVVariableEngineIsRunning
- Real-Time Utility Library, with the following exceptions:
- GetRTSystemInfo
- FindAllRTSystemsOnSubnet
- RTSystemSelectPopup
- System Configuration class
- System Replication class
- TCP Support Library
- TDM Streaming Library, with the following exceptions:
- TDMS_AdvancedAsyncRead
- TDMS_AdvancedAsyncWrite
- TDMS_ConfigureAsyncReads
- TDMS_ConfigureAsyncWrites
- TDMS_GetAsyncReadStatus
- TDMS_GetAsyncWriteStatus
- TDMS_ReserveFileSize
- UDP Support Library
- The following functions in the User Interface Library:
- PostDeferredCall
- PostDeferredCallToThread
- ProcessSystemEvents
- The following functions in the Utility Library:
- All functions in the Multithreading class
- All functions in the Debugging and Run-time Error Reporting class, with the following exception:
- CVIDynamicMemoryInfo
- All functions in the Date/Time class
- Beep
- Cls
- CVIRTEHasBeenDetached
- GetDir
- InStandaloneExecutable
- RoundRealToNearestInteger
- SetDir
- TruncateRealNumber
![]() |
Note All the functions that are supported in RT applications are multithread safe. |
LabWindows/CVI Tools Library (Toolslib) Instrument Drivers
The following Toolslib instrument drivers are supported in RT applications:
- Asynchronous Timers
- Reading/Writing .ini–Style Files, with the following exceptions:
- Ini_ReadFromRegistry
- Ini_WriteToRegistry
- Regular Expressions
- The following functions in the Programmer's Toolbox:
- All functions in the Miscellaneous class, with the following exceptions:
- GetFileCLibTime
- GetGeneralErrorString
- InternationalFileTime
- InternationalFileDate
- NetworkVariablePopup
- OpenDocumentInDefaultViewer
- ShowHtmlHelp
- StartPCSound
- StopPCSound
- All functions in the Time Conversions class
- All functions in the String Handling class
- All functions in the File class, with the following exceptions:
- SaveBitmapToFile
- SaveCtrlDisplayToFile
- SavePanelDisplayToFile
- All functions in the Searching and Sorting class
- All functions in the Lists class
- All functions in the Hash Tables class
- All functions in the Memory Block Handles class
- All functions in the Constants and Conversions class
- All functions in the Special Double Precision Numbers and Functions class
- All functions in the Callback Posting class, with the following exception:
- PostDelayedCall
- All functions in the Endianess class
- All functions in the Miscellaneous class, with the following exceptions:
Additional Libraries
You also can link a Real-time only project to the following libraries, which may require you to install additional components on the RT target.
- RS-232 Library—You must install NI-Serial on the RT target using the Remote Systems item in NI Measurement & Automation Explorer (MAX).
- Hardware Libraries—You must install the appropriate driver for any hardware library that you use in an RT application. The following hardware libraries are supported in RT applications:
- VISA Library
- NI-DAQmx Library
- Traditional NI-DAQ Library (with limitations)
- NI-DMM
- NI-Scope
- NI-FGEN
- NI-Switch
- NI-HSDIO
- NI-CAN
![]() |
Notes
|
If you use an external compiler and want to use functions that are supported in RT applications, include CVIversion\extlib\msvc\cvi_lvrt.lib in the external compiler project instead of cvirt.lib and cvisupp.lib. Remember that when you use an external compiler, you link to that compiler's ANSI C library.