curvirgoです。
Takashi Nakamoto wrote:
> ちゃんとしたマシンが与えられたので、新しい環境でコンパイルに挑戦してみま
> した。
> * Windows XP Professional SP2 (日本語版)
> * Microsoft Visual C++ 2005 Express Edition (日本語版)
> chcp〜の方は試していませんが、「地域と言語のオプション」の詳細設定で
> 「Unicode対応でないプログラムの言語」を「英語(米国)」にしたらエラーがで
> なくなるという、curvirgoさんのと異なる結果になりました。
エラーとなったまま再コードページを変更し、際ビルドを行ったためでしょうか。
もう一度クリーンビルドすれば結果が代わるかもしれません。
あるいは、「コードページを変更して尚且つ英語版を使用するとエラーにならない」ということかもしれません。
> とりあえず整理。私もよく分かっていないので間違いがあれば直してください。
>
> - 非ASCII文字が含まれているソースのコンパイルエラーを起こさないために
> は、コンパイラのデフォルトのコードページを US にすればよい
そうです。
というか、「#pragma setlocale("C")」で同様の事を行っていたのでしょう。
> -- VC++の「日本語版/英語版」の違いというのは関係なさそう
> -- Windowsの「地域と言語のオプション」の「Unicode対応でないプログラムの
> 言語」を「英語(米国)」にすればよさげ?
上記のとおり、この部分は組合せを検証したほうが良いかもしれません。
「Unicode対応でないプログラム」というのにVC、もしくはVCを呼び出すプロセス(それが何かは特定していません)が該当しそのコードページを引き継ぐ為に日本語版OSを使用するときにはその設定を変更する必要があるということでしょう。
他に、同様の状態にできる(動的に変更する)方法があればいいのですが...
> 本当はコンパイラのオプションとしてこういうのを切り替えるものがあればよい
> のですが、
> http://msdn2.microsoft.com/ja-jp/library/fwkeyyhe(VS.80).aspx
> の「Visual C++ コンパイラ オプション 〜 アルファベット順のコンパイラ オ
> プション」にはそのようなものは見つけることができません。
以下の情報を見付けました。
http://support.microsoft.com/kb/912790/ja?spid=3041&sid=194
> p.s.1
> Visual Basicのコンパイラにはソースコードのコードページに関するオプション
> があるみたいですが。
> http://msdn2.microsoft.com/ja-jp/library/w95cx9k1(VS.80).aspx
VCにはありませんね。
ですから、「#pragma setlocale("C")」を用いるのでしょうけど。
> p.s.2
> ちなみに、「Unicode対応でないプログラムの言語」を「英語(米国)」にした
> ら、xyzzyのメニューバーが文字化けしてしまいました orz
確認した訳ではありませんが、Unicodeで記述されていない部分が文字化けを起こすのではないかと推測しています。
> p.s.3
> 高い。
「高い」とは?
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]