c++ プログラムを作成し、それを ansi-term で g++ を使用してコンパイルすると、奇妙な文字が表示されました。
必要に応じて、変数 n を宣言していないというエラーが発生しました。どうすればこれを修正できますか?
ああ!これをテストした...
(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8-unix)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
そして問題は解決しました!!!
出力にUTF gcc
-8 の「スマート クォート」が含まれており、端末が UTF-8 を表示するように設定されていないようです。簡単な回避策は、locale
Emacs 内でスマート クォートをサポートしていないa を使用することgcc
です。より洗練された修正は、Ansi-Term バッファの端末モードを修正して、これらを正しく表示することです。
これらはおそらく色のエスケープシーケンスです。emacs には、関数で有効にできるモードがありますansi-color-for-comint-mode-on
。