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