gpt4 book ai didi

c - 这种字符串匹配的最佳方式是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:35:46 24 4
gpt4 key购买 nike

我想分析消息的类型以获得最佳性能,消息以常量字符串开头,后跟一个空格。常量字符串属于一个已知的字符串数组列表,如“CUT”、“GET”、“LOGIN”……

所以我不喜欢重复 memcmp(data, "GET", 3) 这对性能不利的事情。我想知道有没有更好的解决方案。也许我可以将这个常量字符串数组编译成 DFA 以进行快速字符串匹配,但我不知道该怎么做,还有其他更好的解决方案吗?

可以使用词法分析器来做到这一点吗?

最佳答案

看看Ragel .在 Mongrel供实际使用。尽管我发现 ragel 附带的邮件解析示例也是一个有趣的小示例,可以用来试验。

不过,根据您的协议(protocol),仅检查第一个字节可能会让您使用一个后续的 memcmp() 来验证您的动词确实是正确的。 'C'、'L'、'G' 都是不同的值。

关于c - 这种字符串匹配的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1892101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com