2010/03/06 [土]
- コマンドラインオプション
bcc32 と cl は、コマンドラインオプションで UNICODE に対応できます。
- bcc32の場合
オプション 説明 注記 -W GUIアプリ 一つだけ指定可能 -WC コンソールアプリ。「__CONSOLE__」が定義される -WD DLL。「__DLL__」が定義される -WM マルチスレッド「__MT__」が定義される。 組み合わせて指定可能 -WU UNICODE対応。「_UNICODE」が定義される。windows.h を include すると「UNICODE」も定義される -WR 動的RTL使用 -v デバッグ情報付加 - msc(cl) の場合
オプション 説明 注記 /D WIN32 Windowsアプリ 必ず指定 /D _WINDOWS GUIアプリ 一つだけ指定可能 /D _CONSOLE コンソールアプリ /D _USRDLL DLL /D _LIB スタティックライブラリ /MT マルチスレッド対応 (指定せず) シングルバイト対応 一つだけ指定可能 /D _MBCS マルチバイト対応 /D _UNICODE /D UNICODE _UNICODE: C 実行時ライブラリの UNICODE 対応。UNICODE: Win32 API とデータ型の UNICODE 対応。 /Zi /D _DEBUG デバッグ情報付加 /EHac C++ 例外処理とSEHの有効化、extern "C" の nothrow の仮定 /Wp64 64bit環境への移植性の警告
- bcc32の場合
- ソースへの変更
-
「#include <tchar.h>」を追加し、_t*** のついたマクロ関数を使う。例えば、「main()」は「_tmain()」にする。
生文字と生文字列は、_T( ) で囲む。例えば、「"string"」なら「_T("string")」とする。
-
「#include <locale.h>」を追加し、_tmainの先頭あたりで、「_tsetlocale(LC_ALL, _T(""));」を実行する。これでC実行時環境に現在のOSの標準のロケールが設定される。
-
- 参考
by seclan