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