seclan のほえほえルーム

| |

bcc32 と msc(cl) のコマンドラインコンパイラの UNICODE 対応化オプション

・
2010/03/06 []

  1. コマンドラインオプション

    bcc32 と cl は、コマンドラインオプションで UNICODE に対応できます。

    • bcc32の場合
      オプション説明注記
      -WGUIアプリ一つだけ指定可能
      -WCコンソールアプリ。「__CONSOLE__」が定義される
      -WDDLL。「__DLL__」が定義される
      -WMマルチスレッド「__MT__」が定義される。組み合わせて指定可能
      -WUUNICODE対応。「_UNICODE」が定義される。windows.h を include すると「UNICODE」も定義される
      -WR動的RTL使用
      -vデバッグ情報付加
    • msc(cl) の場合
      オプション説明注記
      /D WIN32Windowsアプリ必ず指定
      /D _WINDOWSGUIアプリ一つだけ指定可能
      /D _CONSOLEコンソールアプリ
      /D _USRDLLDLL
      /D _LIBスタティックライブラリ
      /MTマルチスレッド対応
      (指定せず)シングルバイト対応一つだけ指定可能
      /D _MBCSマルチバイト対応
      /D _UNICODE /D UNICODE_UNICODE: C 実行時ライブラリの UNICODE 対応。UNICODE: Win32 API とデータ型の UNICODE 対応。
      /Zi /D _DEBUGデバッグ情報付加
      /EHacC++ 例外処理とSEHの有効化、extern "C" の nothrow の仮定
      /Wp6464bit環境への移植性の警告
  2. ソースへの変更
    • 「#include <tchar.h>」を追加し、_t*** のついたマクロ関数を使う。例えば、「main()」は「_tmain()」にする。

      生文字と生文字列は、_T( ) で囲む。例えば、「"string"」なら「_T("string")」とする。

    • 「#include <locale.h>」を追加し、_tmainの先頭あたりで、「_tsetlocale(LC_ALL, _T(""));」を実行する。これでC実行時環境に現在のOSの標準のロケールが設定される。

  3. 参考


by seclan

関連


| |

 

配信

6.49 msec