比较两个字符串(nul-terminated)而不是逐个字节地进行比较?

Jac*_*ack 4 string algorithm assembly string-comparison

就像strlen()glibc执行一个很好的位操作和每次检查4个字节使得函数如此之快,与逐字节例程相比,正如大多数其他人所做的那样,是否有类似的东西来比较汇编中的两个字符串?我正在阅读有关C语言代码实现的一些页面,对字符串处理部分非常感兴趣,但我仍然没有找到这样的.我必须尽快使这个功能,因为它是我的应用程序的核心.(不建议哈希表)

欢迎任何汇编.但是我对intel的汇编语法有点熟悉,如果你要提供的汇编有所不同,请评论它.

Mic*_*Day 6

您可以逐字比较(例如,一次32位或64位).你只需要小心不要越过字符串的末尾.如果你正在制作琴弦,那么你可以用零填充它们,这样它们就是单词大小的倍数,那么你甚至不需要检查.