National Instruments 320685D-01 Drums User Manual


 
Chapter 5 UNIX Compiler/Linker Issues
LabWindows/CVI Programmer Reference Manual 5-8
©
National Instruments Corporation
and suspends operation at the statement that caused the exception. If this signal occurs
when no program is running, LabWindows/CVI exits immediately.
You cannot use
signal, sigaction, sigset, or sigvec to make your program ignore the
signals this section lists.
Note If your program begins to loop indefinitely, you can often suspend execution by
sending a signal to the LabWindows/CVI process as follows:
1. Use the
ps command to identify the process number of LabWindows/CVI.
2. Send the
kill
-SIGNAL pid
command to that process. For example, if the
LabWindows/CVI process number is 3478, the command
kill -INT 3478
sends the
SIGINT signal to LabWindows/CVI. When you want to suspend
execution of your program in LabWindows/CVI, try using
SIGINT or SIGQUIT.
If sending the
SIGINT or SIGQUIT signal fails, you must use the stronger
SIGTERM signal, which terminates not just your program but also
LabWindows/CVI.
Note Some signals can cause LabWindows/CVI to dump core you are running a
program that does not install handlers for them.
Solaris 1 ANSI C Library Implementation
The C library that comes with Sun Solaris 1 (SunOS 4.1.x) does not comply with the ANSI C
standard as follows:
Some ANSI C functions are missing from the library.
Some library functions have different behavior than the ANSI standard specifies.
LabWindows/CVI corrects these problems by linking your programs to a supplemental C
library
libcfix.a, which is in the lib subdirectory of the LabWindows/CVI installation
directory. This library contains replacement functions for some Sun Solaris functions and for
the ANSI functions that are not available in the Sun Solaris library. The names of the
replacement functions differ from the Sun Solaris function names and do not interfere with
programs or libraries that depend upon the non-ANSI behavior of some Sun Solaris functions.
The LabWindows/CVI ANSI header files contain macro definitions for the replacement
functions. When you compile with the LabWindows/CVI headers, your program references
the LabWindows/CVI replacement functions instead of the Sun Solaris versions.
Consider the case of
realloc, which LabWindows/CVI replaces with _cvi_realloc. The
Sun Solaris 1 implementation of the
realloc function fails when the first argument is
NULL. The ANSI standard requires that
realloc accept NULL as a first argument. In the
library
libcfix.a, LabWindows/CVI defines _cvi_realloc, which treats a NULL
argument as the ANSI standard prescribes. The LabWindows/CVI header file
stdlib.h
00ProRef.book : 06chap05.fm Page 8 Monday, March 9, 1998 3:23 PM