実行可能ファイルのセグメントの名前を保持する 16 バイトの配列があります。
char segname[16];
セグメント名の長さが 16 バイト未満の場合、残りは NULL バイトで埋められます。それ以外の場合、終端の null バイトはありません。
segname
など、さまざまな文字列と比較したい__text
。
strncmp
null で終わらない文字列で呼び出すことは合法ですか?
この投稿は、それが合法であることを前提としています。このソースコードも合法です。しかし、私の男のページには次のように書かれています:
この
strncmp()
関数は、null で終わる文字列s1
と を辞書式に比較しますs2
。
に渡されるstrncmp
サイズは のサイズになりsegname
ます。
何を参考にしようか迷っています。