2

基本的に、リテラル内のnull文字に関する警告は無視したいと思います。

GCCによると、この警告はデフォルトで有効になっています。

-Wno-この警告に適切なオプションが見つかりません。

このようなコードでこのような警告が表示されます

const char input[] = "abc^@123";

ここで、^@はASCII 0文字を示します(via-を使用して入力し、カーソルを文字の上に置いた状態でコマンドモードでvimviaCtrlv0を確認できます)。ga

4

1 に答える 1

3

レクサーで発生しており、チェックを無効にできるようには見えません。:-(これが:からのコードスニペットlibcpp/lex.cです

if (saw_NUL && !pfile->state.skipping)
  cpp_error (pfile, CPP_DL_WARNING,
         "null character(s) preserved in literal");

ご覧のとおり、警告を発する前にオプションのチェックはありません。

于 2012-09-22T13:28:19.660 に答える