Component: Standard utility functions

Macro name

CYGPKG_LIBC_STDLIB

Type

Dummy

Description

Options associated with the standard utility functions in <stdlib.h>

Option: Inline versions of <stdlib.h> functions

Macro name

CYGIMP_LIBC_STDLIB_INLINES

Type

Boolean

Description

This option chooses whether some of the particularly simple standard utility functions from <stdlib.h> are available as inline functions. This may improve performance, and as the functions are small, may even improve code size.

Component: Provide rand() and srand()

Macro name

CYGPKG_LIBC_RAND

Type

Boolean

Description

This option chooses whether the pseudo-random number generator functions rand() and srand() are available. Some space may saved if not.

Option: Random number seed

Macro name

CYGNUM_LIBC_RAND_SEED

Type

Count

Description

This selects the initial random number seed for rand()'s pseudo-random number generator. For strict ISO standard compliance, this should be 1, as per section 7.10.2.2 of the standard.

Component: Support for dynamic memory allocation

Macro name

CYGPKG_LIBC_MALLOC

Type

Boolean

Description

This enables support for dynamic memory allocation as supplied by the functions malloc(), free(), calloc() and realloc(). As these functions are often used, but can have quite an overhead, disabling them here can ensure they cannot even be used accidentally when static allocation is preferred.

Option: Size of the dynamic memory pool in bytes

Macro name

CYGNUM_LIBC_MALLOC_MEMPOOL_SIZE

Type

Count

Description

At this stage, dynamic memory allocation by malloc() and calloc() must be from a fixed-size, contiguous memory pool. This option is the size of that pool, in bytes. Note that not all of this is available for programs to use - some is needed for internal information about memory regions, and some may be lost to ensure that memory allocation only returns memory aligned on word (or double word) boundaries - a very common architecture constraint.

Option: Support for C++ delete operator

Macro name

CYGIMP_LIBC_MALLOC_CXX_DELETE_CALLS_FREE

Type

Boolean

Description

C++ new and delete operators can call the C library's malloc() and free() implicitly. If this is what is required, enable this option. However, if enabled, the dynamic memory allocation code is always linked in to the application, even if it is not explicitly called and new/delete are not used. This increases code and data size needlessly.

Option: Provides strtod() and atof()

Macro name

CYGFUN_LIBC_strtod

Type

Boolean

Description

This option allows use of the utility function strtod() (and consequently atof()) to convert from string to double precision floating point numbers. Disabling this option removes the dependency on the math library package.