📄 config.h.in
字号:
/* On Unix-like systems config.in is converted by "configure" into config.h.Some other environments also support the use of "configure". PCRE is written inStandard C, but there are a few non-standard things it can cope with, allowingit to run on SunOS4 and other "close to standard" systems.On a non-Unix-like system you should just copy this file into config.h, and setup the macros the way you need them. You should normally change the definitionsof HAVE_STRERROR and HAVE_MEMMOVE to 1. Unfortunately, because of the wayautoconf works, these cannot be made the defaults. If your system has bcopy()and not memmove(), change the definition of HAVE_BCOPY instead of HAVE_MEMMOVE.If your system has neither bcopy() nor memmove(), leave them both as 0; anemulation function will be used. *//* If you are compiling for a system that uses EBCDIC instead of ASCIIcharacter codes, define this macro as 1. On systems that can use "configure",this can be done via --enable-ebcdic. */#ifndef EBCDIC#define EBCDIC 0#endif/* If you are compiling for a system other than a Unix-like system or Win32,and it needs some magic to be inserted before the definition of a function thatis exported by the library, define this macro to contain the relevant magic. Ifyou do not define this macro, it defaults to "extern" for a C compiler and"extern C" for a C++ compiler on non-Win32 systems. This macro apears at thestart of every exported function that is part of the external API. It does notappear on functions that are "external" in the C sense, but which are internalto the library. *//* #define PCRE_DATA_SCOPE *//* Define the following macro to empty if the "const" keyword does not work. */#undef const/* Define the following macro to "unsigned" if <stddef.h> does not definesize_t. */#undef size_t/* The following two definitions are mainly for the benefit of SunOS4, whichdoes not have the strerror() or memmove() functions that should be present inall Standard C libraries. The macros HAVE_STRERROR and HAVE_MEMMOVE shouldnormally be defined with the value 1 for other systems, but unfortunately wecannot make this the default because "configure" files generated by autoconfwill only change 0 to 1; they won't change 1 to 0 if the functions are notfound. */#define HAVE_STRERROR 0#define HAVE_MEMMOVE 0/* There are some non-Unix-like systems that don't even have bcopy(). If thismacro is false, an emulation is used. If HAVE_MEMMOVE is set to 1, the value ofHAVE_BCOPY is not relevant. */#define HAVE_BCOPY 0/* The value of NEWLINE determines the newline character. The default is toleave it up to the compiler, but some sites want to force a particular value.On Unix-like systems, "configure" can be used to override this default. */#ifndef NEWLINE#define NEWLINE '\n'#endif/* The value of LINK_SIZE determines the number of bytes used to store links asoffsets within the compiled regex. The default is 2, which allows for compiledpatterns up to 64K long. This covers the vast majority of cases. However, PCREcan also be compiled to use 3 or 4 bytes instead. This allows for longerpatterns in extreme cases. On systems that support it, "configure" can be usedto override this default. */#ifndef LINK_SIZE#define LINK_SIZE 2#endif/* When calling PCRE via the POSIX interface, additional working storage isrequired for holding the pointers to capturing substrings because PCRE requiresthree integers per substring, whereas the POSIX interface provides only two. Ifthe number of expected substrings is small, the wrapper function uses space onthe stack, because this is faster than using malloc() for each call. Thethreshold above which the stack is no longer used is defined by POSIX_MALLOC_THRESHOLD. On systems that support it, "configure" can be used to override thisdefault. */#ifndef POSIX_MALLOC_THRESHOLD#define POSIX_MALLOC_THRESHOLD 10#endif/* PCRE uses recursive function calls to handle backtracking while matching.This can sometimes be a problem on systems that have stacks of limited size.Define NO_RECURSE to get a version that doesn't use recursion in the match()function; instead it creates its own stack by steam using pcre_recurse_malloc()to obtain memory from the heap. For more detail, see the comments and otherstuff just above the match() function. On systems that support it, "configure"can be used to set this in the Makefile (use --disable-stack-for-recursion). *//* #define NO_RECURSE *//* The value of MATCH_LIMIT determines the default number of times the internalmatch() function can be called during a single execution of pcre_exec(). Thereis a runtime interface for setting a different limit. The limit exists in orderto catch runaway regular expressions that take for ever to determine that theydo not match. The default is set very large so that it does not accidentallycatch legitimate cases. On systems that support it, "configure" can be used tooverride this default default. */#ifndef MATCH_LIMIT#define MATCH_LIMIT 10000000#endif/* The above limit applies to all calls of match(), whether or not theyincrease the recursion depth. In some environments it is desirable to limit thedepth of recursive calls of match() more strictly, in order to restrict themaximum amount of stack (or heap, if NO_RECURSE is defined) that is used. Thevalue of MATCH_LIMIT_RECURSION applies only to recursive calls of match(). Tohave any useful effect, it must be less than the value of MATCH_LIMIT. There isa runtime method for setting a different limit. On systems that support it,"configure" can be used to override this default default. */#ifndef MATCH_LIMIT_RECURSION#define MATCH_LIMIT_RECURSION MATCH_LIMIT#endif/* These three limits are parameterized just in case anybody ever wants tochange them. Care must be taken if they are increased, because they guardagainst integer overflow caused by enormously large patterns. */#ifndef MAX_NAME_SIZE#define MAX_NAME_SIZE 32#endif#ifndef MAX_NAME_COUNT#define MAX_NAME_COUNT 10000#endif#ifndef MAX_DUPLENGTH#define MAX_DUPLENGTH 30000#endif/* End */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -