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

📄 memalloc.cdl

📁 eCos操作系统源码
💻 CDL
📖 第 1 页 / 共 2 页
字号:
# ====================================================================##      memalloc.cdl##      Dynamic memory allocator services configuration data## ====================================================================#####ECOSGPLCOPYRIGHTBEGIN###### -------------------------------------------## This file is part of eCos, the Embedded Configurable Operating System.## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.#### eCos is free software; you can redistribute it and/or modify it under## the terms of the GNU General Public License as published by the Free## Software Foundation; either version 2 or (at your option) any later version.#### eCos is distributed in the hope that it will be useful, but WITHOUT ANY## WARRANTY; without even the implied warranty of MERCHANTABILITY or## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License## for more details.#### You should have received a copy of the GNU General Public License along## with eCos; if not, write to the Free Software Foundation, Inc.,## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.#### As a special exception, if other files instantiate templates or use macros## or inline functions from this file, or you compile this file and link it## with other works to produce a work based on this file, this file does not## by itself cause the resulting work to be covered by the GNU General Public## License. However the source code for this file must still be made available## in accordance with section (3) of the GNU General Public License.#### This exception does not invalidate any other reasons why a work based on## this file might be covered by the GNU General Public License.#### Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.## at http://sources.redhat.com/ecos/ecos-license/## -------------------------------------------#####ECOSGPLCOPYRIGHTEND##### ====================================================================######DESCRIPTIONBEGIN###### Author(s):      jlarmour# Contributors:# Date:           2000-06-02######DESCRIPTIONEND###### ====================================================================cdl_package CYGPKG_MEMALLOC {    display       "Dynamic memory allocation"    description   "        This package provides memory allocator infrastructure required for        dynamic memory allocators, including the ISO standard malloc        interface. It also contains some sample implementations."    include_dir   cyg/memalloc    compile       dlmalloc.cxx memfixed.cxx memvar.cxx \                  sepmeta.cxx# ====================================================================    cdl_component CYGPKG_MEMALLOC_ALLOCATORS {        display       "Memory allocator implementations"        flavor        none        no_define        description   "            This component contains configuration options related to the             various memory allocators available."        cdl_component CYGPKG_MEMALLOC_ALLOCATOR_FIXED {            display       "Fixed block allocator"            flavor        none            no_define            description   "                This component contains configuration options related to the                 fixed block memory allocator."            cdl_option CYGSEM_MEMALLOC_ALLOCATOR_FIXED_THREADAWARE {                display        "Make thread safe"                active_if      CYGPKG_KERNEL                default_value  1                description    "                    With this option enabled, this allocator will be                    made thread-safe. Additionally allocation functions                    are made available that allow a thread to wait                    until memory is available."            }        }        cdl_component CYGPKG_MEMALLOC_ALLOCATOR_VARIABLE {            display       "Simple variable block allocator"            flavor        none            no_define            description   "                This component contains configuration options related to the                 simple variable block memory allocator. This allocator is not                very fast, and in particular does not scale well with large                numbers of allocations. It is however very compact in terms of                code size and does not have very much overhead per allocation."            cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_THREADAWARE {                display        "Make thread safe"                active_if      CYGPKG_KERNEL                default_value  1                description    "                    With this option enabled, this allocator will be                    made thread-safe. Additionally allocation functions                    are added that allow a thread to wait until memory                    are made available that allow a thread to wait                    until memory is available."            }            cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE {                display       "Coalesce memory"                default_value 1                description   "                    The variable-block memory allocator can perform coalescing                    of memory whenever the application code releases memory back                    to the pool. This coalescing reduces the possibility of                    memory fragmentation problems, but involves extra code and                    processor cycles."            }        }        cdl_component CYGPKG_MEMALLOC_ALLOCATOR_DLMALLOC {            display       "Doug Lea's malloc"            flavor        none            description   "                This component contains configuration options related to the                 port of Doug Lea's memory allocator, normally known as                dlmalloc. dlmalloc has a reputation for being both fast                and space-conserving, as well as resisting fragmentation well.                It is a common choice for a general purpose allocator and                has been used in both newlib and Linux glibc."            cdl_option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG {                display       "Debug build"                requires      CYGDBG_USE_ASSERTS                default_value { 0 != CYGDBG_USE_ASSERTS }                description   "                    Doug Lea's malloc implementation has substantial amounts                    of internal checking in order to verify the operation                    and consistency of the allocator. However this imposes                    substantial overhead on each operation. Therefore this                    checking may be individually disabled."            }            cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_THREADAWARE {                display       "Make thread safe"                active_if     CYGPKG_KERNEL                requires      CYGPKG_KERNEL                default_value 1                description   "                    With this option enabled, this allocator will be                    made thread-safe. Additionally allocation functions                    are made available that allow a thread to wait                    until memory is available."            }                    cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_SAFE_MULTIPLE {                display       "Support more than one instance"                default_value 1                description   "                    Having this option disabled allows important                    implementation structures to be declared as a single                    static instance, allowing faster access. However this                    would fail if there is more than one instance of                    the dlmalloc allocator class. Therefore this option can                    be enabled if multiple instances are required. Note: as                    a special case, if this allocator is used as the                    implementation of malloc, and it can be determined there                    is more than one malloc pool, then this option will be                    silently enabled."            }           cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY {                display       "Use system memcpy() and memset()"                requires      CYGPKG_ISOINFRA                default_value { 0 != CYGPKG_ISOINFRA }                description   "                    This may be used to control whether memset() and memcpy()                    are used within the implementation. The alternative is                    to use some macro equivalents, which some people report                    are faster in some circumstances."           }           cdl_option CYGNUM_MEMALLOC_ALLOCATOR_DLMALLOC_ALIGNMENT {                display       "Minimum alignment of allocated blocks"                flavor        data                legal_values  3 to 10                default_value 3                description   "                    This option controls the minimum alignment that the                    allocated memory blocks are aligned on, specified as                    2^N. Note that using large mininum alignments can lead                    to excessive memory wastage."           }        }        cdl_component CYGPKG_MEMALLOC_ALLOCATOR_SEPMETA {            display       "Variable block allocator with separate metadata"            flavor        none

⌨️ 快捷键说明

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