Contents
©
National Instruments Corporation ix LabWindows/CVI Programmer Reference Manual
DLL Glue Code.................................................................................................4-7
DLLs That Can Use Glue Code Generated at Load Time..................4-8
DLLs That Cannot Use Glue Code Generated at Load Time.............4-8
Loading a DLL That Cannot Use Glue Code Generated
atLoad Time....................................................................................4-8
Rules for the DLL Include File Used to
Generate Glue Source........................................................4-9
If the DLL Requires a Support Module outside the DLL.....4-9
If You Pass Arrays Bigger Than 64 K to the DLL...............4-9
If the DLL Retains a Buffer after the Function Returns
(anAsynchronous Operation) ............................................4-11
If the DLL Calls Directly Back into 32-Bit Code................4-12
If the DLL Returns Pointers.................................................4-15
If a DLL Receives a Pointer that Points to Other
Pointers..............................................................................4-18
DLL Exports Functions by Ordinal Value Only..................4-20
Recognizing Windows Messages Passed from a DLL......................................4-21
Creating 16-bit DLLs with Microsoft Visual C++ 1.5......................................4-21
Creating 16-bit DLLs with Borland C++..........................................................4-22
DLL Search Precedence....................................................................................4-23
Chapter 5UNIX Compiler/Linker Issues
Calling Sun C Library Functions.....................................................................................5-1
Restrictions on Calling Sun C Library Functions..............................................5-1
Using Shared Libraries in LabWindows/CVI..................................................................5-2
Using dlopen......................................................................................................5-2
The LabWindows/CVI Run-Time Engine as a Shared Library.......................................5-2
Creating Executables that Use the LabWindows/CVI Libraries.....................................5-3
Compatible External Compilers........................................................................5-3
Static and Shared Versions of the ANSI C and Other Sun Libraries................5-3
Non-ANSI Behavior of Sun Solaris 1 ANSI C Library....................................5-4
LabWindows/CVI Implements printf and scanf................................................5-4
Main Function Must Call InitCVIRTE..............................................................5-4
Run State Change Callbacks Are Not Available in Executables......................5-5
Using Externally Compiled Modules..............................................................................5-6
Restrictions on Externally Compiled Modules..................................................5-6
Compiling Modules With External Compilers..................................................5-6
Locking Process Segments into Memory Using plock().................................................5-7
UNIX Asynchronous Signal Handling............................................................................5-7

00ProRef.book : 00ProRefTOC.fm Page ix Monday, March 9, 1998 3:23 PM