mac とのソースコードの共通化について
http://social.msdn.microsoft.com/Forums/ja/vsgeneralja/thread/62164982-9795-4f5a-bd7c-85ec121f9126
こんなのを見つけて「え?」となったので試してみると…確かにできませんでした。
以下のようなファイルを visual c++ 上で作成
#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { puts("masuda tomoaki"); puts("増田 智明"); return 0; }
エディタで開いて「BOM 無し」で保存する。
先のファイルをコンパイルすると、
D:\work\blog\src\SampleUTFCode\SampleUTFCode>cl /c SampleUTFCode.cpp Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. SampleUTFCode.cpp D:\work\blog\src\SampleUTFCode\SampleUTFCode>cl /c SampleUTFCode.cpp Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. SampleUTFCode.cpp SampleUTFCode.cpp : warning C4819: ファイルは、現在のコード ページ (932) で表示 できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で 保存してください。 SampleUTFCode.cpp(10) : error C2001: 定数が 2 行目に続いています。 SampleUTFCode.cpp(12) : error C2143: 構文エラー : ')' が 'return' の前にありませ
のようなエラーが出ます。どうやら、BOM 無しなので os の標準コード(sjis 932)を使って読み込むために、puts(“増田 智明”); あたりで読み込みエラーになっているようです。
じゃあ、コマンドプロンプトで「chcp 65001」でコードページを変えたらどうなる?と思ったけど、変わりませんね。
コンタクトは、フォーラムの貼ってあるURLは間違っているようでページエラーになります。後でURLが変わっている?タイトルで検索してみると出てきましたので、リンクし直し
UTF-8シグネチャ(BOM)なしのソースコードを VC++ でコンパイルできる様にして欲しい | Microsoft Connect
http://connect.microsoft.com/site550/feedback/details/688472/utf-8-bom-vc
終了しているみたいですが、記録として要望をしておきました。