programing:c-language:compiler-os-macro-define
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| programing:c-language:compiler-os-macro-define [2019/07/22 01:28] – [テーブル] yoko | programing:c-language:compiler-os-macro-define [2024/11/18 02:38] (現在) – [テーブル] yoko | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| C言語で定義済みマクロによるコンパイラ及びOS判定 | C言語で定義済みマクロによるコンパイラ及びOS判定 | ||
| =========================================== | =========================================== | ||
| - | C言語で様々なOSやコンパイラで共通ソースにする時に、条件コンパイルで切換えたい場合がある。その時に利用するマクロ名について、備忘録を残す。 | + | C言語で様々なOSやコンパイラで共通ソースにしたい時、条件コンパイルで切換えたい場合がある。その時に利用するマクロ名について、備忘録を残す。 |
| - | 定義済みマクロ名 | + | ===== 定義済みマクロ名 |
| - | --------------- | + | 定義済みマクロは、下記コマンドで確認できる。 |
| - | ### コンパイラ判定 | + | <code bash> |
| - | ^ コンパイラ名 | + | $ echo | gcc -dM -E - |
| - | | GCC | `__GNUC__` | + | </ |
| - | | IAR EWARM | `__ICCARM__` | + | |
| - | | ARMコンパイラ | + | |
| - | | インテルコンパイラ | + | |
| - | | Borland C++ | `__BORLANDC__` | + | |
| + | <code bash> | ||
| + | $ echo | arm-none-eabi-gcc -dM -E - | ||
| + | </ | ||
| - | ### 実行環境判定 | + | ==== コンパイラ判定 |
| - | ^ 実行環境 | + | ^ コンパイラ |
| - | | UNIX | + | | GCC | `__GNUC__` | バージョン番号 |
| - | | Linux | `__linux__` | | `__linux`でもよい | + | | GCC/ |
| - | | Windows(32bit) | + | | IAR EWARM | `__ICCARM__` | |
| - | | Windows(64bit) | + | | ARMコンパイラ |
| - | | msys2(32bit) | + | | インテルコンパイラ |
| - | | msys2(64bit) | + | | Borland C++ | `__BORLANDC__` | | | |
| - | | Cygwin | + | | Appleコンパイラ |
| - | 参考 | + | ==== 実行環境判定 ==== |
| - | ---- | + | ^ 実行環境 |
| + | | UNIX | `__unix__` | ||
| + | | Linux | `__linux__` | ||
| + | | Windows(32bit) | ||
| + | | Windows(64bit) | ||
| + | | msys2(32bit) | ||
| + | | msys2(64bit) | ||
| + | | Cygwin | ||
| + | | macOS | `__MACH__` | ||
| + | |||
| + | ==== 64bit環境判定 ==== | ||
| + | ^ 実行環境 | ||
| + | | Linux/ | ||
| + | | macOS(Apple sillicon) | ||
| + | |||
| + | |||
| + | ===== 参考 | ||
| 1. [[https:// | 1. [[https:// | ||
| 2. [[https:// | 2. [[https:// | ||
| 3. [[http:// | 3. [[http:// | ||
| + | 4. [[https:// | ||
| + | 5. [[https:// | ||
| + | 6. [[https:// | ||
| + | |||
| + | |||
programing/c-language/compiler-os-macro-define.1563758901.txt.gz · 最終更新: by yoko
