C++ Builderのプラットフォーム定義済みマクロ

C++ Builderでプラットフォーム毎に条件コンパイルをする場合のマクロは、いつも探すのが大変なのでメモ。

ドキュメントではメインヘルプ(Web版であればトピック)で"定義済みマクロ"を検索すれば見つかる。
一部を掲載。

マクロ 説明
__ANDROID__ Android環境の場合(アンダースコアは両側に2つ)
__APPLE__ iOSないしmaxOS環境の場合(アンダースコアは両側に2つ)
_Windows Windowsプラットフォームの場合
__WIN32__ Win32アプリ(コンソールアプリも、アンダースコアは両側に2つ)
_WIN32 Win32、Win64アプリ
_WIN64 Win64アプリ(コンソールアプリも)

_WIN32がやらしい、あと__WIN64__はないのか? アンダースコアの数が違うので覚えるのが面倒だ。

2022-03-16 フレームワーク定義マクロ

Alexandria 11.1からフレームワーク識別子がサポートされたので追記。
11 Alexandria - Release 1 - RAD Studio

マクロ 説明
FRAMEWORK_VCL VCLフレームワークであれば真
FRAMEWORK_FMX Firemonkeyフレームワークであれば真