How Can I Verify That My DLL Is Executable in LabVIEW Real-Time on NI PharLap ETS?
Primary Software: LabVIEW Modules>>LabVIEW Real-Time Module
Primary Software Version: 2017
Primary Software Fixed Version: N/A
Secondary Software: N/A
I have created a DLL that I would like to run on my LabVIEW Real-Time controller that has the NI PharLap ETS operating system. Are there any tools available that will verify whether or not my DLL will be executable in LabVIEW Real-Time on NI PharLap ETS?
National Instruments recommends you use CVI Real-Time for C-based shared libraries. This will ensure proper compilation and will allow for remote debugging.
If the shared library is C++-based, National Instruments strongly recommends using the MSVC 2009 or MSVC 2010 compilers. Other compilers may not be supported in LabVIEW Real-Time (NI PharLap ETS) or will require run-time components to be statically linked when compiled, resulting in a larger DLL.
Note: National Instruments strongly recommends that VeriStand users do not statically link MSVC runtimes.
If your DLL works on a Windows machine it may work in LabVIEW Real-Time (NI PharLap ETS). However, the code will fail if it calls functions that are not included in the real-time operating system's subset of Win32 . For example, you may receive an error message similar to the one shown below:
Use the attached utility to determine whether or not the function calls in your DLL are supported on the real-time operating system. Use the version of the utility that corresponds with the version of LabVIEW Real-Time you are using.
Note: The same version of the utility can be used for LabVIEW Real-Time 2015 and 2016.
There are three categories that functions are sorted into: Good, Stubbed, and Bad (as shown below).
For more information on building a DLL for use in LabVIEW Real-Time, please refer to the links below.
Note: If this utility asks for dependant DLLs (ex:
Automating the DLL Checker
For versions 2013 and later the DLL Checker executable can now be called with additional arguments which specify the DLL to check and the path in which to place a log file with the results. This allows users to automate the check process using a batch script or a program that can invoke the command line, such as LabVIEW.
The argument to pass is:
Here is an example of automating the check in LabVIEW.
KnowledgeBase 320HIP2Y: How Can I Debug a DLL in LabVIEW RT?
KnowledgeBase 3GD9T8SU: Can I Use MS Visual C++.NET (7.x) To Build DLLs Using the Real-Time Workshop for NI Real-Time Targets?
Tutorial: Using LabWindows/CVI DLLs in LabVIEW Real-Time Applications
DLL Checker 2017.exeDLL Checker 2016.exeDLL Checker 2015.exeDLL Checker 2013.exeDLL Checker 2014.exeDLL Checker 2011.exeDLL Checker 2012.exeDLL Checker 2009.exeDLL Checker 2010.exeDLL Checker 8.6.exe
Report Date: 07/23/2004
Last Updated: 10/04/2017
Document ID: 3BMI76L1