You must use the header files provided with the compiler run-time support when using functions from C/C++ standard library. Set the C6X_C_DIR environment variable to the include directory where the tools are installed.
The following header files provide TI extensions to the C standard:
- c6x.h -- Provides intrinsic definitions.
- c6x_vec.h -- Provides support for OpenCL-style vector data types and built-in functions used by the TI compiler.
- cpy_tbl.h -- Declares the copy_in() RTS function, which is used to move code or data from a load location to a separate run location at run-time. This function helps manage overlays.
- _data_synch.h -- Declares functions used by the RTS library to help with shared data synchronization. For example, these functions are used when flushing the local data cache to global shared memory.
- file.h -- Declares functions used by low-level I/O functions in the RTS library.
- gsm.h -- Provides basic DSP operations and GSM math operations defined by the European Telecommunications Standards Institute (ETSI).
- _lock.h -- Used when declaring system-wide mutex locks. This header file is deprecated; use _reg_mutex_api.h and _mutex.h instead.
- memory.h -- Provides the memalign() function, which is not required by the C standard.
- _mutex.h -- Declares functions used by the RTS library to help facilitate mutexes for specific resources that are owned by the RTS. For example, these functions are used for heap or file table allocation.
- _pthread.h -- Declares low-level mutex infrastructure functions and provides support for recursive mutexes.
- _reg_mutex_api.h -- Declares a function that can be used by an RTOS to register an underlying lock mechanism and/or thread ID mechanism that is implemented in the RTOS but is called indirectly by the RTS’ _mutex.h functions.
- _reg_synch_api.h -- Declares a function that can be used by an RTOS to register an underlying cache synchronization mechanism that is implemented in the RTOS but is called indirectly by the RTS’ _data_synch.h functions.
- strings.h -- Provides additional string functions, including bcmp(), bcopy(), bzero(), ffs(), index(), rindex(), strcasecmp(), and strncasecmp(). See the v7.6 release notes for details on these functions.
- _tls.h -- Provides some useful macros for declaring objects that need to be in thread-local storage if the __thread qualifier is supported. If the __thread qualifier is not enabled, these become normal declarations.
- vect.h -- Provides macros to support 128-bit vectors.
The following standard C header files are provided with the compiler: assert.h, complex.h, ctype.h, errno.h, float.h, inttypes.h, iso646.h, limits.h, locale.h, math.h, setjmp.h, signal.h, stdarg.h, stdbool.h, stddef.h, stdint.h, stdio.h, stdlib.h, string.h, time.h, wchar.h, and wctype.h.
The following standard C++ header files are provided with the compiler: algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646, climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef, cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception, fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream, istream, iterator, limits, list, locale, map, memory, new, numeric, ostream, queue, rope, set, sstream, stack, stdexcept, streambuf, string, strstream, typeinfo, utility, valarray, and vector.
The following header files are for use with older C++ code: fstream.h, iomanip.h, iostream.h, new.h, stdiostream.h, stl.h, and strstream.h.
The following header files are for internal use by TI components and should not be directly included by your applications: _data_synch.h, _fmt_specifier.h, _isfuncdcl.h, _isfuncdef.h, _mutex.h, _pthread.h, _tls.h, access.h, c60asm.i, cpp_inline_math.h, elf_linkage.h, elfnames.h, linkage.h, mathf.h, mathl.h, pprof.h, unaccess.h, wchar.hx, xcomplex, xdebug, xhash, xiosbase, xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmemory, xstddef, xstring, xtree, xutility, xwcc.h, ymath.h, and yvals.h,