• Sizes of integer types 整形字节长度 系统字节


    /usr/include/limits.h

    /* Copyright (C) 1991, 1992, 1996, 1997, 1998, 1999, 2000, 2005
       Free Software Foundation, Inc.
       This file is part of the GNU C Library.
    
       The GNU C Library is free software; you can redistribute it and/or
       modify it under the terms of the GNU Lesser General Public
       License as published by the Free Software Foundation; either
       version 2.1 of the License, or (at your option) any later version.
    
       The GNU C Library 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
       Lesser General Public License for more details.
    
       You should have received a copy of the GNU Lesser General Public
       License along with the GNU C Library; if not, see
       <http://www.gnu.org/licenses/>.  */
    
    /*
     *	ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types	<limits.h>
     */
    
    #ifndef _LIBC_LIMITS_H_
    #define _LIBC_LIMITS_H_	1
    
    #include <features.h>
    
    
    /* Maximum length of any multibyte character in any locale.
       We define this value here since the gcc header does not define
       the correct value.  */
    #define MB_LEN_MAX	16
    
    
    /* If we are not using GNU CC we have to define all the symbols ourself.
       Otherwise use gcc's definitions (see below).  */
    #if !defined __GNUC__ || __GNUC__ < 2
    
    /* We only protect from multiple inclusion here, because all the other
       #include's protect themselves, and in GCC 2 we may #include_next through
       multiple copies of this file before we get to GCC's.  */
    # ifndef _LIMITS_H
    #  define _LIMITS_H	1
    
    #include <bits/wordsize.h>
    
    /* We don't have #include_next.
       Define ANSI <limits.h> for standard 32-bit words.  */
    
    /* These assume 8-bit `char's, 16-bit `short int's,
       and 32-bit `int's and `long int's.  */
    
    /* Number of bits in a `char'.	*/
    #  define CHAR_BIT	8
    
    /* Minimum and maximum values a `signed char' can hold.  */
    #  define SCHAR_MIN	(-128)
    #  define SCHAR_MAX	127
    
    /* Maximum value an `unsigned char' can hold.  (Minimum is 0.)  */
    #  define UCHAR_MAX	255
    
    /* Minimum and maximum values a `char' can hold.  */
    #  ifdef __CHAR_UNSIGNED__
    #   define CHAR_MIN	0
    #   define CHAR_MAX	UCHAR_MAX
    #  else
    #   define CHAR_MIN	SCHAR_MIN
    #   define CHAR_MAX	SCHAR_MAX
    #  endif
    
    /* Minimum and maximum values a `signed short int' can hold.  */
    #  define SHRT_MIN	(-32768)
    #  define SHRT_MAX	32767
    
    /* Maximum value an `unsigned short int' can hold.  (Minimum is 0.)  */
    #  define USHRT_MAX	65535
    
    /* Minimum and maximum values a `signed int' can hold.  */
    #  define INT_MIN	(-INT_MAX - 1)
    #  define INT_MAX	2147483647
    
    /* Maximum value an `unsigned int' can hold.  (Minimum is 0.)  */
    #  define UINT_MAX	4294967295U
    
    /* Minimum and maximum values a `signed long int' can hold.  */
    #  if __WORDSIZE == 64
    #   define LONG_MAX	9223372036854775807L
    #  else
    #   define LONG_MAX	2147483647L
    #  endif
    #  define LONG_MIN	(-LONG_MAX - 1L)
    
    /* Maximum value an `unsigned long int' can hold.  (Minimum is 0.)  */
    #  if __WORDSIZE == 64
    #   define ULONG_MAX	18446744073709551615UL
    #  else
    #   define ULONG_MAX	4294967295UL
    #  endif
    
    #  ifdef __USE_ISOC99
    
    /* Minimum and maximum values a `signed long long int' can hold.  */
    #   define LLONG_MAX	9223372036854775807LL
    #   define LLONG_MIN	(-LLONG_MAX - 1LL)
    
    /* Maximum value an `unsigned long long int' can hold.  (Minimum is 0.)  */
    #   define ULLONG_MAX	18446744073709551615ULL
    
    #  endif /* ISO C99 */
    
    # endif	/* limits.h  */
    #endif	/* GCC 2.  */
    
    #endif	/* !_LIBC_LIMITS_H_ */
    
     /* Get the compiler's limits.h, which defines almost all the ISO constants.
    
        We put this #include_next outside the double inclusion check because
        it should be possible to include this file more than once and still get
        the definitions from gcc's header.  */
    #if defined __GNUC__ && !defined _GCC_LIMITS_H_
    /* `_GCC_LIMITS_H_' is what GCC's file defines.  */
    # include_next <limits.h>
    #endif
    
    /* The <limits.h> files in some gcc versions don't define LLONG_MIN,
       LLONG_MAX, and ULLONG_MAX.  Instead only the values gcc defined for
       ages are available.  */
    #if defined __USE_ISOC99 && defined __GNUC__
    # ifndef LLONG_MIN
    #  define LLONG_MIN	(-LLONG_MAX-1)
    # endif
    # ifndef LLONG_MAX
    #  define LLONG_MAX	__LONG_LONG_MAX__
    # endif
    # ifndef ULLONG_MAX
    #  define ULLONG_MAX	(LLONG_MAX * 2ULL + 1)
    # endif
    #endif
    
    #ifdef	__USE_POSIX
    /* POSIX adds things to <limits.h>.  */
    # include <bits/posix1_lim.h>
    #endif
    
    #ifdef	__USE_POSIX2
    # include <bits/posix2_lim.h>
    #endif
    
    #ifdef	__USE_XOPEN
    # include <bits/xopen_lim.h>
    #endif
    

      

    /usr/include/linux/limits.h

    #ifndef _LINUX_LIMITS_H
    #define _LINUX_LIMITS_H
    
    #define NR_OPEN         1024
    
    #define NGROUPS_MAX    65536    /* supplemental group IDs are available */
    #define ARG_MAX       131072    /* # bytes of args + environ for exec() */
    #define LINK_MAX         127    /* # links a file may have */
    #define MAX_CANON        255    /* size of the canonical input queue */
    #define MAX_INPUT        255    /* size of the type-ahead buffer */
    #define NAME_MAX         255    /* # chars in a file name */
    #define PATH_MAX        4096    /* # chars in a path name including nul */
    #define PIPE_BUF        4096    /* # bytes in atomic write to a pipe */
    #define XATTR_NAME_MAX   255    /* # chars in an extended attribute name */
    #define XATTR_SIZE_MAX 65536    /* size of an extended attribute value (64k) */
    #define XATTR_LIST_MAX 65536    /* size of extended attribute namelist (64k) */
    
    #define RTSIG_MAX         32
    
    #endif
    ~      
    

      

  • 相关阅读:
    每日构建(三)
    asp.net mvc(九)
    表达式树对性能的影响
    asp.net mvc(八)
    31天重构指南之六:降低字段
    使用OPENROWSET将数据从excel导入到sql server
    31天重构指南之三: 提升方法(pull up )
    31天重构指南之一:封装集合
    31天重构指南之七:重命名
    职场杂谈之由仲秋福利想到的
  • 原文地址:https://www.cnblogs.com/rsapaper/p/11784208.html
Copyright © 2020-2023  润新知