RC.EXE - Microsoft SDK リソース コンパイラ

提供: RAD Studio
移動先: 案内検索

コマンドライン ユーティリティ:インデックス への移動

RC は、Microsoft SDK の標準リソース コンパイラのコマンドライン版です。入力としてリソース スクリプト ファイル(.RC)を受け取り、出力としてリソース オブジェクト ファイル(.RES)を生成します。

C++Builder でも Delphi でも、リソース コンパイラを選択できます。 [プロジェクト|オプション...|リソース コンパイラ] ダイアログ ボックスで、以下のいずれかを選択できます。

  • BRCC32.exe: C++Builder リソース コンパイラ
  • RC.exe: Microsoft プラットフォーム SDK リソース コンパイラ

RC では、リソース ファイルとファイル名で Unicode 文字をサポートしているほか、アルファ チャネル付きアイコンなどの新しい Vista リソース タイプもサポートしています。

RAD Studio 環境における RC コンパイラの実際のファイル名は CGRC.exe です。

BRCC32 と RC の相違点

RC を使用することにした場合は、以下のように、既存の .RC ファイルで BRCC32 と RC のいくつかの相違点に対処する必要があります。

  • C++ の場合も Delphi の場合も、RC で Windows の型または定数を使用するには、明示的に #include winresrc.h を指定する必要があります。
  • RC では、BRCC32 とは異なり、画像データをインラインで処理しません。RC で画像を使用する場合は、画像を保存し、それをインラインで参照する必要があります。
  • RC では、BRCC32 とは異なる方法で行継続文字を処理します。最も簡単な変更は、埋め込み改行(\n)で文字列を結合することです。
  • RC の場合、コマンド要素の順序については、リソース ファイルの名前より先にすべてのコマンド オプションが来る必要があります。
  • RC では、STRINGLIST 内で文字列の後にコンマを挿入できません。
  • RC では文字列を C 形式の文字列として扱います。つまり、以下のいずれかを行う必要があります。
    • ファイル名に含まれる単一バックスラッシュ(\)を、二重バックスラッシュ(\\)を使ってエスケープする。
    • 単一バックスラッシュ(\)の代わりに前方スラッシュ(/)を使用する。
  • RC の場合は、#include <dirname> を指定してもカレント ディレクトリを検索しません。カレント ディレクトリを検索するには、#include "dirname" を使用します。
  • 文字列に二重引用符文字を埋め込む場合は、バックスラッシュ エスケープ文字ではなく、2 つの連続した二重引用符文字("")を使用します。
  • RCDATA 値とバイト値の扱いが両者で異なります。たとえば、
    • BRCC32 では、'11 aa 22 bb' をバイト列として扱います。
    • RC の場合は、0xaa11 0xbb22 と指定する必要があります。

関連項目