📄 limits.h
字号:
/* * limits.h * This file has no copyright assigned and is placed in the Public Domain. * This file is a part of the mingw-runtime package. * No warranty is given; refer to the file DISCLAIMER within the package. * * Functions for manipulating paths and directories (included from io.h) * plus functions for setting the current drive. * * Defines constants for the sizes of integral types. * * NOTE: GCC should supply a version of this header and it should be safe to * use that version instead of this one (maybe safer). * */#ifndef _LIMITS_H_#define _LIMITS_H_/* All the headers include this file. */#include <_mingw.h>/* * File system limits * * TODO: NAME_MAX and OPEN_MAX are file system limits or not? Are they the * same as FILENAME_MAX and FOPEN_MAX from stdio.h? * NOTE: Apparently the actual size of PATH_MAX is 260, but a space is * required for the NUL. TODO: Test? */#define PATH_MAX 259/* * Characteristics of the char data type. * * TODO: Is MB_LEN_MAX correct? */#define CHAR_BIT 8#define MB_LEN_MAX 2#define SCHAR_MIN (-128)#define SCHAR_MAX 127#define UCHAR_MAX 255/* TODO: Is this safe? I think it might just be testing the preprocessor, * not the compiler itself... */#if ('\x80' < 0)#define CHAR_MIN SCHAR_MIN#define CHAR_MAX SCHAR_MAX#else#define CHAR_MIN 0#define CHAR_MAX UCHAR_MAX#endif/* * Maximum and minimum values for ints. */#define INT_MAX 2147483647#define INT_MIN (-INT_MAX-1)#define UINT_MAX 0xffffffff/* * Maximum and minimum values for shorts. */#define SHRT_MAX 32767#define SHRT_MIN (-SHRT_MAX-1)#define USHRT_MAX 0xffff/* * Maximum and minimum values for longs and unsigned longs. * * TODO: This is not correct for Alphas, which have 64 bit longs. */#define LONG_MAX 2147483647L#define LONG_MIN (-LONG_MAX-1)#define ULONG_MAX 0xffffffffUL#ifndef __STRICT_ANSI__/* POSIX wants this. */ #define SSIZE_MAX LONG_MAX#endif#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \ || !defined(__STRICT_ANSI__)/* ISO C9x macro names */#define LLONG_MAX 9223372036854775807LL#define LLONG_MIN (-LLONG_MAX - 1)#define ULLONG_MAX (2ULL * LLONG_MAX + 1)#endif/* * The GNU C compiler also allows 'long long int' */#if !defined(__STRICT_ANSI__) && defined(__GNUC__)#define LONG_LONG_MAX 9223372036854775807LL#define LONG_LONG_MIN (-LONG_LONG_MAX-1)#define ULONG_LONG_MAX (2ULL * LONG_LONG_MAX + 1)/* MSVC compatibility */#define _I64_MIN LONG_LONG_MIN#define _I64_MAX LONG_LONG_MAX#define _UI64_MAX ULONG_LONG_MAX#endif /* Not Strict ANSI and GNU C compiler */#endif /* not _LIMITS_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -