zoukankan      html  css  js  c++  java
  • 编译 pcre

    PCRE百科介绍:

    PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。这些在执行正规表达式模式匹配时用与Perl 5同样的语法和语义是很有用的。Boost太庞大了,使用boost regex后,程序的编译速度明显变慢。测试了一下,同样一个程序,使用boost::regex编译时需要3秒,而使用pcre不到1秒。因此改用pcre来解决C语言中使用正则表达式的问题

    pcre库官网:http://www.pcre.org/

    下载源代码放到 C:pcre-8.35

    运行 msys

    cd /c/pcre-8.35

    configure --disable-cpp --prefix=/local/pcre    #配置参数:将生成的库文件保存到 msys/local/pcre 文件夹中

    make

    make install  #完成后,在 msys/local/pcre 文件夹中就能找到 include,lib,include文件夹。

    就可以在codeblocks中配置使用prce了。

    ---------------------------------------------------------

    configure选项:

    --disable-cpp:不组建c++封装

    --enable-utf8:让PCRE支持UTF8

    --enable-unicode-properties:支持/P,/p,/X识别unicode字符

    --enable-newline-is-crlf --enable-newline-is-anycrlf --enable-newline-is-any:制定行结束符

    --enable-bsr-anycrlf:让/r匹配/r,/n或/r/n

    --with-posix-malloc-threshold=xx(数字):如果调用POSIX接口,模式中捕获括号大于10时需要额外的存储空间,这里数字就是设定其阈值。

    --with-match-limit=xx(数字):限制一次匹配时使用的资源数,默认值为10000000

    --with-match-limit-recursion=xx(数字):限制一次匹配时的递归深度,默认为10000000(几乎可以说是无限)

    --with-link-size=x(数字):默认编译好的模式大小约64k,通过该选项可以增加其大小,但增加过多会降低效率。

    --disable-stack-for-recursion:使用自己的栈进行递归调用而不是默认栈以减少空间使用,但会降低效率。

    --enable-rebuild-chartables:生成pcre_chartables.c而不是从pcre_chartables.c.dist中拷贝。

    --enable-ebcdic:使用IBM ebcdic编码,隐含了--enable-rebuild-chartables,这样就不支持utf8了。

    --enable-pcregrep-libz,--enable-pcregrep-libbz2:使用libz或/和libbz2编译pcregrep

    --enable-pcretest-libreadline:使用libreadline编译pcretest,这样在终端上输入时pcretest就具有行编辑和历史记录功能。注意libreadline是GPL-licensed。

    ------------------------------------------------------------------

    参考资料:

    Linux和windows下编译pcre - http://blog.csdn.net/jollyjumper/article/details/5700024

    2014-06-27

  • 相关阅读:
    3927Circular Sequence 思维题(求环形最大子列和)
    Rotational Painting(hdu 3685 凸包+多边形重心 模板题
    模拟 3897: Catch the Mouse
    L3-010 是否完全二叉搜索树 (30分)
    已知两种遍历顺序 推剩下的一种
    进阶实验4-3.3 完全二叉搜索树 (30分)->排序得出搜索树中序遍历->已知搜索树中序求层序
    任意进制转化/模板(c++/ java)
    4038: Robot Navigation --bfs(求最短路及其路径条数)
    A Simple Math Problem(hdu 5974 数论题
    LCM Walk(hdu 5584;数论题
  • 原文地址:https://www.cnblogs.com/personnel/p/4584972.html
Copyright © 2011-2022 走看看