⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libc.h

📁 ecos为实时嵌入式操作系统
💻 H
📖 第 1 页 / 共 5 页
字号:
#ifndef CYGONCE_PKGCONF_LIBC_H#define CYGONCE_PKGCONF_LIBC_H//========================================================================////      libc.h////      Configuration header for the ANSI standard C library////========================================================================//####COPYRIGHTBEGIN####//// -------------------------------------------// The contents of this file are subject to the Cygnus eCos Public License// Version 1.0 (the "License"); you may not use this file except in// compliance with the License.  You may obtain a copy of the License at// http://sourceware.cygnus.com/ecos// // Software distributed under the License is distributed on an "AS IS"// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the// License for the specific language governing rights and limitations under// the License.// // The Original Code is eCos - Embedded Cygnus Operating System, released// September 30, 1998.// // The Initial Developer of the Original Code is Cygnus.  Portions created// by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions.  All Rights Reserved.// -------------------------------------------////####COPYRIGHTEND####//========================================================================//#####DESCRIPTIONBEGIN####//// Author(s):     jlarmour// Contributors:  jlarmour// Date:          1999-01-20// Purpose:       Configuration of the ISO C library// Description:   The preprocessor defines here can be used to configure//                the ISO C library, preferably with a graphical tool,//                but also manually if required.// Usage:         #include <pkgconf/libc.h>  //              ////####DESCRIPTIONEND####////========================================================================// INCLUDES// Include system configuration file to work out whether the C library is// to be included at all#include <pkgconf/system.h>/*    {{CFG_DATA        cdl_package CYGPKG_LIBC {            display      "C library"            description  "This package enables compatibility with the ISO                          C standard - ISO/IEC 9899:1990. This allows the                          user application to use well known standard                          C library functions, and in eCos starts a                          thread to invoke the user function main()"            type         boolean            requires     CYGPKG_ERROR            doc          ref/ecos-ref/the-iso-standard-c-and-math-libraries.html        }    }}CFG_DATA*///========================================================================// CTYPE CONFIGURATION OPTIONS/*    {{CFG_DATA        cdl_option CYGIMP_LIBC_CTYPE_INLINES {            display      "Inline versions of <ctype.h> functions"            description  "This option chooses whether the simple character                          classification and conversion functions (e.g.                          isupper(), isalpha(), toupper(), etc.)                          from <ctype.h> are available as inline                          functions. This may improve performance and as                          the functions are small, may even improve code                          size."            type         boolean            parent       CYGPKG_LIBC        }    }}CFG_DATA*/#define CYGIMP_LIBC_CTYPE_INLINES//========================================================================// STRING CONFIGURATION OPTIONS/*    {{CFG_DATA        cdl_component CYGPKG_LIBC_STRING {            display      "String functions"            description  "Options associated with the standard string                          functions"            type         dummy            parent       CYGPKG_LIBC        }        cdl_option CYGIMP_LIBC_STRING_INLINES {            display      "Inline versions of <string.h> functions"            description  "This option chooses whether some of the                          particularly simple string functions from                          <string.h> are available as inline                          functions. This may improve performance, and as                          the functions are small, may even improve code                          size."            type         boolean            parent       CYGPKG_LIBC_STRING        }        cdl_component CYGPKG_LIBC_STRING_OPTIMIZATIONS {            display      "Options for string function optimization"            description  "This component lets you choose between different                          implementations of the string functions with                          different tradeoffs. Most of the string                          functions can be implemented in two ways. One                          approach is geared towards smaller code size,                          while the other tries to improve execution speed                          at the expense of code size. "            type         dummy            parent       CYGPKG_LIBC_STRING        }        cdl_option CYGIMP_LIBC_STRING_PREFER_FAST {            display      "Fast"            description  "This option improves string function execution                          speed at the expense of code size. This                          option is overriden if the code is                          compiled with the -Os option to the compiler."            type         radio            parent       CYGPKG_LIBC_STRING_OPTIMIZATIONS        }        cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL {            display      "Small"            description  "This option tries to reduce string function                          code size at the expense of execution speed. The                          same effect can be produced if the code is                          compiled with the -Os option to the compiler."            type         radio            parent       CYGPKG_LIBC_STRING_OPTIMIZATIONS        }        cdl_component CYGPKG_LIBC_STRING_STRTOK {            display      "strtok"            description  "These options control the behaviour of the                          strtok() and strtok_r() string tokenization                          functions."            type         dummy            parent       CYGPKG_LIBC_STRING        }        cdl_option CYGSEM_LIBC_PER_THREAD_STRTOK {            display      "Per-thread strtok()"            description  "This option controls whether the string function                          strtok() has its state recorded on a per-thread                          basis rather than global. If this option is                          disabled, some per-thread space can be saved.                          Note there is also a POSIX-standard strtok_r()                          function to achieve a similar effect with user                          support. Enabling this option will use one slot                          of kernel per-thread data. You should ensure you                          have enough slots configured for all your                          per-thread data."            doc          ref/ecos-ref/c-and-math-library-overview-thread-safety.html            type         boolean            parent       CYGPKG_LIBC_STRING_STRTOK            requires     CYGVAR_KERNEL_THREADS_DATA        }        cdl_option CYGNUM_LIBC_STRTOK_TRACE_LEVEL {            display      "Tracing level"            description  "Trace verbosity level for debugging the <string.h>                          functions strtok() and strtok_r(). Increase this                          value to get additional trace output."            type         count            legal_values 0 to 1            parent       CYGPKG_LIBC_STRING_STRTOK        }    }}CFG_DATA*/#define CYGIMP_LIBC_STRING_INLINES#undef CYGIMP_LIBC_STRING_PREFER_SMALL#define CYGIMP_LIBC_STRING_PREFER_FAST#ifdef CYGIMP_LIBC_STRING_PREFER_SMALL# define CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST#endif#undef CYGSEM_LIBC_PER_THREAD_STRTOK#define CYGNUM_LIBC_STRTOK_TRACE_LEVEL 0//========================================================================// SETJMP CONFIGURATION OPTIONS/*    {{CFG_DATA        cdl_option CYGIMP_LIBC_SETJMP_INLINES {            display     "Inline version of the longjmp() function"            description "This option chooses whether the longjmp() function                         is available as an inline function. This may                         improve performance, and as the function is small                         may even improve code size. "            type        boolean            parent      CYGPKG_LIBC        }    }}CFG_DATA*/#define CYGIMP_LIBC_SETJMP_INLINES//========================================================================// STDLIB CONFIGURATION OPTIONS/*    {{CFG_DATA        cdl_component CYGPKG_LIBC_STDLIB {            display     "Standard utility functions"            description "Options associated with the standard utility                         functions in <stdlib.h>"            type        dummy            parent      CYGPKG_LIBC        }        cdl_option CYGIMP_LIBC_STDLIB_INLINES {            display     "Inline versions of <stdlib.h> functions"            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."            type        boolean            parent      CYGPKG_LIBC_STDLIB        }        cdl_component CYGPKG_LIBC_RAND {            display      "Random number generation"            description  "These options control the behaviour of the                          functions rand(), srand() and rand_r()"            type         dummy            parent       CYGPKG_LIBC_STDLIB        }        cdl_option CYGSEM_LIBC_PER_THREAD_RAND {            display      "Per-thread random seed"            description  "This option controls whether the pseudo-random                          number generation functions rand() and srand()                          have their state recorded on a per-thread                          basis rather than global. If this option is                          disabled, some per-thread space can be saved.                          Note there is also a POSIX-standard rand_r()                          function to achieve a similar effect with user                          support. Enabling this option will use one slot                          of kernel per-thread data. You should ensure you                          have enough slots configured for all your                          per-thread data."            doc          ref/ecos-ref/c-and-math-library-overview-thread-safety.html            type         boolean            requires     CYGVAR_KERNEL_THREADS_DATA            parent       CYGPKG_LIBC_RAND        }        cdl_option CYGNUM_LIBC_RAND_SEED {            display      "Random number seed"            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."            type         count            legal_values 0 to 0x7fffffff            parent       CYGPKG_LIBC_RAND        }        cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL {            display      "Tracing level"            description  "Trace verbosity level for debugging the rand(),                          srand() and rand_r() functions. Increase this                          value to get additional trace output."            type         count            legal_values 0 to 1            parent       CYGPKG_LIBC_RAND

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -