106 |
using UTF-8) will fail. Part of the output of these tests is a representation |
using UTF-8) will fail. Part of the output of these tests is a representation |
107 |
of the compiled pattern, and this changes with the link size. |
of the compiled pattern, and this changes with the link size. |
108 |
|
|
109 |
|
.SH AVOIDING EXCESSIVE STACK USAGE |
110 |
|
.rs |
111 |
|
.sp |
112 |
|
PCRE implements backtracking while matching by making recursive calls to an |
113 |
|
internal function called \fBmatch()\fR. In environments where the size of the |
114 |
|
stack is limited, this can severely limit PCRE's operation. (The Unix |
115 |
|
environment does not usually suffer from this problem.) An alternative approach |
116 |
|
that uses memory from the heap to remember data, instead of using recursive |
117 |
|
function calls, has been implemented to work round this problem. If you want to |
118 |
|
build a version of PCRE that works this way, add |
119 |
|
|
120 |
|
--disable-stack-for-recursion |
121 |
|
|
122 |
|
to the \fBconfigure\fR command. With this configuration, PCRE will use the |
123 |
|
\fBpcre_stack_malloc\fR and \fBpcre_stack_free\fR variables to call memory |
124 |
|
management functions. Separate functions are provided because the usage is very |
125 |
|
predictable: the block sizes requested are always the same, and the blocks are |
126 |
|
always freed in reverse order. A calling program might be able to implement |
127 |
|
optimized functions that perform better than the standard \fBmalloc()\fR and |
128 |
|
\fBfree()\fR functions. PCRE runs noticeably more slowly when built in this |
129 |
|
way. |
130 |
|
|
131 |
|
.SH USING EBCDIC CODE |
132 |
|
.rs |
133 |
|
.sp |
134 |
|
PCRE assumes by default that it will run in an environment where the character |
135 |
|
code is ASCII (or UTF-8, which is a superset of ASCII). PCRE can, however, be |
136 |
|
compiled to run in an EBCDIC environment by adding |
137 |
|
|
138 |
|
--enable-ebcdic |
139 |
|
|
140 |
|
to the \fBconfigure\fR command. |
141 |
|
|
142 |
.in 0 |
.in 0 |
143 |
Last updated: 21 January 2003 |
Last updated: 09 December 2003 |
144 |
.br |
.br |
145 |
Copyright (c) 1997-2003 University of Cambridge. |
Copyright (c) 1997-2003 University of Cambridge. |