trigraph ??/ ignoriert, verwenden Sie -trigraphs zum Aktivieren

Lesezeit: 1 Minute

Benutzer-Avatar
Angus

Mein Compiler (gcc) gibt mir diese Warnung. Bitte helfen Sie mir zu verstehen, was es bedeutet:

Warnung: Trigraph ??/ ignoriert, verwenden Sie -trigraphs zum Aktivieren

  • ??/ das Äquivalent zum Backslash ist, können Sie den Triagraphen durch “\” ersetzen

    – Eric Fortis

    8. Dezember 2011 um 17:58 Uhr


  • Sofern Sie nicht (sagen wir) C-Code auf einem Mainframe 3270-Terminal oder so weiter bearbeiten, ist es eine „gute Idee“, ein Vorkommen von „?“ zu schreiben. als “?\?”, um der Paranoia willen. (Einige Zeichen, wie {} [] \, fehlen in vielen Mainframe-Zeichensätzen sowie einigen nicht-englischen Tastaturen für andere Systeme.)

    – BRPocock

    8. Dezember 2011 um 18:06 Uhr

  • Die staubigen Ecken von C schlagen wieder zu …

    – tdenniston

    8. Dezember 2011 um 18:07 Uhr

Benutzer-Avatar
Jon

Sie haben “versehentlich” irgendwo in Ihrem Quellcode einen Trigraph geschrieben (die Warnung des Compilers würde die Zeile genau bestimmen). Da Trigraphen erfunden wurden, um ein Problem zu lösen, das auf modernen Systemen nicht ins Spiel kommt, wollen Sie den Trigraphen eigentlich nicht ??/ durch das Zeichen ersetzt werden \.

Daher sollte diese Warnung wahrscheinlich ignoriert werden (Sie können den Compiler anweisen, den Mund zu halten, indem Sie hinzufügen -Wno-trigraphs nach -Wall in Ihrer Befehlszeile; siehe die Dokumente). Aber es wäre gut, Ihren Quellcode zu zeigen, damit wir sicher sein können.

Anstatt ein Compiler-Flag hinzuzufügen, könnten Sie einfach jedes Fragezeichen mit maskieren \dh \?\?-. Das hat in meinem Fall geholfen.

  • Das Compiler-Flag ist für Fälle gedacht, in denen Sie einen Trigraphen schreiben, ohne zu bemerken, dass es sich um einen handelt. Dann wird Sie der Compiler nicht darüber ärgern. Wenn Sie zum Zeitpunkt des Schreibens wussten, dass es sich um einen unbeabsichtigten Trigraphen handelt, könnten Sie ihn wie vorgeschlagen maskieren und Compiler-Flags vergessen.

    – j_kubik

    20. März 2014 um 7:56 Uhr

1121370cookie-checktrigraph ??/ ignoriert, verwenden Sie -trigraphs zum Aktivieren

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy