HIRASE CONNECTION WK

programming collection

目次

Blog 利用状況

ニュース

あわせて読みたいブログパーツ

書庫

日記カテゴリ

Link Collection

[C] wchar_tって・・・。

VC2008で、ソースファイルのプロパティで
「詳細」の「コンパイル言語の選択」を「Cコードとしてコンパイル (/TC)」として、
「言語」の「wchar_t をビルトイン型として扱う (/Zc:wchar_t」を「はい」にすると、
wchar_t が組み込み型として使えそうなのに、使えないんですね・・・。

# wchar.hをincludeすれば使えますけど、unsigned short扱いだし、
# CRTを使いたくないのに、wchar.h から crtdefs.h を読み込んじゃうし・・・


C で書くなと??

投稿日時 : 2008年5月27日 22:37

コメントを追加

# re: [C] wchar_tって・・・。 2008/05/27 22:50 επιστημη

へー。
Cはとんと御無沙汰なんで気がつかんかったですなり。

# re: [C] wchar_tって・・・。 2008/05/27 23:01 774RR

そもそも C に wchar_t って無いし (C99 にもないし)
しかたないのでは

# re: [C] wchar_tって・・・。 2008/05/27 23:13 T.Hirase

TO: επιστημηさま。
えぇ、自分も C は御無沙汰していて、
久々にやってみたら・・・・・、このザマでした。

TO: 774RRさま。
無いというか、typedef ですね。C90で導入です。
ま、型としては「無い」で間違っちゃいませんが。

「/Zc:wchar_t」オプションが紛らわしすぎです。
(↑自分の無知を棚に上げますけど)

# re: [C] wchar_tって・・・。 2008/05/28 13:57 επιστημη

wchar_t の扱いは標準委員会でも二転三転してます。
もともと
typedef unsigned なんたら wchar_t;
であったのを"ちゃんとした型"としようって動きがあり、
その後 long char を導入して
typedef long char wchar_t;
ではどうだ? ってんで
再びtypedefに"出戻り"ってゆー方向になったり。
# 現時点でどうなってたっけか...

# re: [C] wchar_tって・・・。 2008/05/30 1:33 T.Hirase

TO: επιστημηさま。
あぁ、そうだったんですね。
「long char」は初めて見た異国な感じですが、ニュアンスはわかります。
けどいずれ、「int=16bit、long=32bit」→「int=long=32bit」や「int=32bit、long=64bit」
のようにlong charが何を指すのかが
変わっていってしまいそうな負のイメージが・・・。
サイズ固定の型と、必要に応じてオーバーフローしないように
実行時にサイズが決まる型があればいいのに。←安直?

ま、いずれにせよ。
C言語のときは、あのオプションは無効状態であって欲しいものです。

タイトル  
名前  
URL
コメント