少なくとも g++ を使用する strcmp には、多くのアーキテクチャに対して多くの最適化があります。私の PC、Core2Duo E8400 では、strcmp は、straigforward 実装を使用するよりも 2 倍高速です。
2 つの「逆文字列」を比較する関数を提供するライブラリが存在するかどうか、私の質問です。逆文字列char *s1
は、(whereおよび for all ) で始まり、そのようなものs1
で終わります。s1-n
s1-n == '\0'
n >= 0
0 <= n' < n, s1-n' != '\0'
もちろん、要件は、この関数が strcmp のように効率的で移植可能でなければならないということです。
編集:2つの文字列が等しいかどうかを知る必要があるだけです(したがって、どちらが大きいかを知る必要はありません。原則として、strcmpの同じ最適化は、逆の文字列に対してもうまく機能します)。