我想知道是否可以将 GNU grep 移植到一个库中,除了法律上的复杂情况(如果有的话),因为这纯粹是为了非商业用途,但是学术用途。我见过GNU grep存在很多端口。例如:GNU grep for win 32 here。
我想知道为什么没有人试图将grep作为库移植?对于利用字符串搜索/挖掘的应用程序来说,这将是一个巨大的好处,因为它们可以在其应用程序内部使用GNU grep的强大功能。我想尝试这个壮举,但由于我是字符串搜索/挖掘的新手,我很想知道可能出现的明显挑战以及为什么还没有完成。
编辑 - GNU grep库的优势在于它可以使用自己的修改版本的boyer-moore更快地进行字符串搜索。当使用正则表达式包装器库(如PCRE或Boost reg exp或Qt Reg表达式等)时,应用程序必须逐行读取文件并对正则表达式解析每行。这是我看到的明显优势。
答案 0 :(得分:1)
是。只需将其链接为库,并使用其预期参数调用其main()。或者更好的是,如果你将main()重命名为更好,f.e。 to grep()。