next up previous
Next: 9.8 glsc+ Up: 9 Cygwin Previous: 9.6 設定のヒント


9.7 gcc と日本語

昔から、C言語と SJIS は相性が悪いと言われてきた。 それは SJIS では、 漢字の2バイト目が 0xC5 (\ の ASCII コード) に なることがあり、 そのために C コンパイラーに手を入れないと正しく動かなかったからである。 現在の Cygwin の gcc は (GCC のバージョンが 3.4 以上なので)
  gcc -finput-charset=cp932 -fexec-charset=cp932 myprog.c
のように -finput-charset=cp932 -fexec-charset=cp932 をつけて コンパイルすれば良くなっている。 なんだったら
bash 用 alias 定義
  alias gcc='gcc -finput-charset=cp932 -fexec-charset=cp932'
tcsh 用 alias 定義
  alias gcc 'gcc -finput-charset=cp932 -fexec-charset=cp932'
もありか?

メッセージの日本語化については、 setenv OUTPUT_CHARSET sjis としておくか? (http://www.sixnine.net/cygwin/cygwin-doc/japo.html を見よ。) また setenv LANG ja_JP.SJIS も必要かも。

http://cygwin-je.sourceforge.jp/cygwin_je/ というのもある。


next up previous
Next: 9.8 glsc+ Up: 9 Cygwin Previous: 9.6 設定のヒント
桂田 祐史
2013-05-04