Borland 系 C/C++ コンパイラの __TURBOC__ 定義済マクロの値

# はじめに

Borland 系の C / C++ コンパイラには `__TURBOC__` という定義済みマクロがあり、最初の Borland Turbo C から [最新版の Embarcadero C++Builder](https://www.embarcadero.com/jp/products/cbuilder) に至るまで一貫して値を返します。

# \_\_TURBOC\_\_ 定義済マクロ

`__TURBOC__` 及び `__BORLANDC__` の値は次の通りです。

| Version | \_\_TURBOC\_\_ | \_\_BORLANDC\_\_ |
|:---|:---:|:---:|
| Turbo C 1.0                             | 0x0001 |        |
| Turbo C 1.5                             | 0x0150 |        |
| Turbo C 2.0 (IDE)                       | 0x018D |        |
| Turbo C 2.0 (TCC)                       | 0x0200 |        |
| [Turbo C 2.01](https://qiita.com/ht_deko/items/100bb258e4480aa7bdf3)                            | 0x0201 |        |
| Turbo C++ 1.0                           | 0x0295 |        |
| [Turbo C++ 1.01](https://qiita.com/ht_deko/items/7a0e5d84d258c3b1a795) (Turbo C++ 2nd Edition)  | 0x0296 |        |
| Borland C++ 2.0                         | 0x0297 | 0x0297 |
| Turbo C++ Win 3.0                       | 0x0400 |        |
| Borland C++ 3.0                         | 0x0400 | 0x0400 |
| Turbo C++ DOS 3.0                       | 0x0401 |        |
| Borland C++ 3.1                         | 0x0410 | 0x0410 |
| Turbo C++ Win 3.1                       | 0x0410 | 0x0410 |
| Borland C++ 4.0                         | 0x0452 | 0x0452 |
| Borland C++ 4.5                         | 0x0460 | 0x0460 |
| Turbo C++ Win 4.5                       | 0x0460 | 0x0460 |
| Borland C++ 5.0                         | 0x0500 | 0x0500 |
| Borland C++ 5.02                        | 0x0520 | 0x0520 |
| C++Builder                              | 0x0520 | 0x0520 |
| C++Builder 3                            | 0x0530 | 0x0530 |
| C++Builder 4                            | 0x0540 | 0x0540 |
| C++Builder 5                            | 0x0550 | 0x0550 |
| Borland C++ 5.5 [^1]                    | 0x0550 | 0x0550 |
| Borland C++ 5.51 [^1]                   | 0x0551 | 0x0551 |
| C++Builder 6                            | 0x0560 | 0x0560 |
| C++Builder X (Borland C++ 5.64)         | 0x0562 | 0x0562 |
| C++Builder 2006 (BDS 2006)              | 0x0570 | 0x0570 |
| Turbo C++ 2006                          | 0x0570 | 0x0570 |
| C++Builder 2007                         | 0x0590 | 0x0590 |
| C++Builder 2007 UPD1                    | 0x0591 | 0x0591 |
| RAD Studio 2007                         | 0x0592 | 0x0592 |
| RAD Studio 2007 DEC UPD                 | 0x0593 | 0x0593 |
| C++Builder 2009                         | 0x0610 | 0x0610 |
| C++Builder 2010 / UPD1                  | 0x0620 | 0x0620 |
| C++Builder 2010 UPD2                    | 0x0621 | 0x0621 |
| C++Builder XE                           | 0x0630 | 0x0630 |
| C++Builder XE UPD1                      | 0x0631 | 0x0631 |
| C++Builder XE2                          | 0x0640 | 0x0640 |
| C++Builder XE3 / UPD1                   | 0x0650 | 0x0650 |
| C++Builder XE3 JAN UPD（BCC32 & BCCOSX）| 0x0651 | 0x0651 |
| C++Builder XE4 (BCC32 & BCCOSX)         | 0x0660 | 0x0660 |
| C++Builder XE5                          | 0x0670 | 0x0670 |
| C++Builder XE6                          | 0x0680 | 0x0680 |
| C++Builder XE7                          | 0x0690 | 0x0690 |
| C++Builder XE8                          | 0x0700 | 0x0700 |
| C++Builder 10 Seattle                   | 0x0710 | 0x0710 |
| C++Builder 10 Seattle UPD 1 (BCC32)     | 0x0711 | 0x0711 |
| C++Builder 10.1 Berlin                  | 0x0720 | 0x0720 |
| C++Builder 10.2 Tokyo                   | 0x0730 | 0x0730 |
| [Embarcadero C++ Compiler](https://www.embarcadero.com/jp/free-tools/ccompiler) [^2]          | 0x0730 | 0x0730 |
| C++Builder 10.3 Rio                     | 0x0740 | 0x0740 |
| C++Builder 10.4 Sydney                  | 0x0750 | 0x0750 |
| C++Builder 11 Alexandria                | 0x0760 | 0x0760 |
| [C++Builder 11 Community Edition](https://www.embarcadero.com/jp/products/cbuilder/starter) [^2]           | 0x0760 | 0x0760 |
| C++Builder 12 Athens                    | 0x0770 | 0x0770 |

:::note
製品によっては `__BCPLUSPLUS__`, `__CODEGEARC__`, `__TCPLUSPLUS__` という定義済マクロもあります。
:::


**See also:**

 - [定義済みマクロの C++ コンパイラ バージョン (DocWiki)](https://docwiki.embarcadero.com/RADStudio/ja/%E5%AE%9A%E7%BE%A9%E6%B8%88%E3%81%BF%E3%83%9E%E3%82%AF%E3%83%AD#.E5.AE.9A.E7.BE.A9.E6.B8.88.E3.81.BF.E3.83.9E.E3.82.AF.E3.83.AD.E3.81.AE_C.2B.2B_.E3.82.B3.E3.83.B3.E3.83.91.E3.82.A4.E3.83.A9_.E3.83.90.E3.83.BC.E3.82.B8.E3.83.A7.E3.83.B3) 
 - [Borland version checking (delphigroups.info)](http://www.delphigroups.info/2/bf/389394.html)
 - [Borland 言語製品コンパイラバージョン一覧 (ohmix.net / Room y.ohm)](https://ohmix.net/memo/borver/)

# おわりに

何かの役に立つ事があるかもしれませんね。

**See also:**

 - [Turbo C (Wikipedia: en)](https://en.wikipedia.org/wiki/Borland_Turbo_C)
 - [Turbo C++ (Wikipedia: en)](https://en.wikipedia.org/wiki/Turbo_C%2B%2B)
 - [Borland C++ (Wikipedia: en)](https://en.wikipedia.org/wiki/Borland_C%2B%2B)
 - [C++Builder (Wikipedia)](https://ja.wikipedia.org/wiki/C%2B%2B_Builder)

[^1]: Borland C++ Compiler 5.5 は無償ダウンロードが可能でした。現在は後継の Embarcadero C++ Compiler が無償ダウンロード可能です。
[^2]: 2024/01 時点。