Странные символы в терминале во время ошибки компиляции

(Это не вопрос об ошибке компиляции, но об установке терминала Linux.)

Во время любой ошибки компиляции ошибочный оператор правильно не отображает фрагменты кода:

In member function â:
error: â was not declared in this scope

Есть ли установка, чтобы заставить мой терминал правильно показывать:

In member function `foo()':
error: `endl' was not declared in this scope

Подробнее: Это показывает в режиме компиляции Emacs правильно, но даже сохранение, которые буферизуют во временный файл и чтение его на командной строке, производит вышеупомянутые символы. Чтение того файла в Vim показывает, что странные символы представляют больше чем один столбец текста.

3
задан 29.03.2011, 20:12

1 ответ

Я думаю, что необходимо сначала проверить настройки локали с:

locale

Если это не выровненное набора символов файла затем, Вы могли бы получать ошибки, как таковые.

file yoursrcfile

должен предоставить Вам необходимую информацию.

Там имеет место также, который Ваш компилятор выполняет с другой локалью. Вы можете обходное решение это путем установки

export LC_ALL=en_US

для Вашей сессии удара. Это может быть помещено перед командой компиляции также. например.

LC_ALL=en_US gcc -o outfile srcfile.c

Но эффект в этом случае будет только на последующей команде.

Другой случай - то, что, вероятно, Ваш исходный код, возможно, был отредактирован в окнах, возможно? Во всяком случае это могло бы содержать некоторые странные символы по некоторым причинам.

Необходимо проверить его в энергию путем включения для показа всех символов

:set invlist

Надеюсь, это поможет!

2
ответ дан 08.12.2019, 01:42

Теги

Похожие вопросы