新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


programing:c-language:compiler-os-macro-define


差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
programing:c-language:compiler-os-macro-define [2024/10/18 21:50] – [テーブル] yokoprograming:c-language:compiler-os-macro-define [2026/07/28 13:16] (現在) – 外部編集 127.0.0.1
行 1: 行 1:
-C言語で定義済みマクロによるコンパイラ及びOS判定 +====== C言語で定義済みマクロによるコンパイラ及びOS判定 ======
-===========================================+
 C言語で様々なOSやコンパイラで共通ソースにしたい時、条件コンパイルで切換えたい場合がある。その時に利用するマクロ名について、備忘録を残す。 C言語で様々なOSやコンパイラで共通ソースにしたい時、条件コンパイルで切換えたい場合がある。その時に利用するマクロ名について、備忘録を残す。
  
行 15: 行 14:
  
 ==== コンパイラ判定 ==== ==== コンパイラ判定 ====
-^ コンパイラ          ^ マクロ名            ^ 定義値          ^ 備考  +^ コンパイラ          ^ マクロ名            ^ 定義値          ^ 備考                                
-| GCC                 | `__GNUC__`          | バージョン番号       +| GCC                 | `__GNUC__`          | バージョン番号                                     
-| GCC/ARM             | `__arm__`                                 +| GCC/ARM             | `__arm__`                                                               
-| IAR EWARM           | `__ICCARM__`        |                       +| IAR EWARM           | `__ICCARM__`        |                                                     
-| ARMコンパイラ       | ` __ARMCC_VERSION |                       +| ARMコンパイラ       | ` __CC_ARM        |                 ` __ARMCC_VERSION`はバージョン番号  
-| インテルコンパイラ  | `__INTEL_COMPILER`  |                       +| インテルコンパイラ  | `__INTEL_COMPILER`  |                                                     
-| Borland C++         | `__BORLANDC__`      |                       +| Borland C++         | `__BORLANDC__`      |                                                     
-| Appleコンパイラ     | `__APPLE__`                               |+| Appleコンパイラ     | `__APPLE__`                                                             |
  
  
 ==== 実行環境判定 ==== ==== 実行環境判定 ====
-^ 実行環境            ^ マクロ名           ^ 定義値  ^ 備考             +^ 実行環境        ^ マクロ名       ^ 定義値  ^ 備考                    
-| UNIX            | `__unix__`          | `__unix`でもよい   +| UNIX            | `__unix__`             | `__unix`でもよい        
-| Linux           | `__linux__`    |      | `__linux`でもよい  +| Linux           | `__linux__`    |         | `__linux`でもよい       
-| Windows(32bit)  | `_WIN32`            | `WIN32`でもよい    +| Windows(32bit)  | `_WIN32`               | `WIN32`でもよい         
-| Windows(64bit)  | `_WIN64`                           +| Windows(64bit)  | `_WIN64`                                       
-| msys2(32bit)    | `__MINGW32__`                     +| msys2(32bit)    | `__MINGW32__`                                 
-| msys2(64bit)    | `__MINGW64__`                     +| msys2(64bit)    | `__MINGW64__`                                 
-| Cygwin          | `__CYGWIN__`                       +| Cygwin          | `__CYGWIN__`                                   
-| macOS           | `__MACH__`                         |+| macOS           | `__MACH__`             (Apple silliconでも可)  |
  
 ==== 64bit環境判定 ==== ==== 64bit環境判定 ====
行 45: 行 44:
  
  
-1. [[https://blog.goo.ne.jp/yamadokoro/e/3f3803fbedff1a535d15da364bcc1a16|C言語 マクロ コンパイル 判定 OS コンパイラ]] +  - [[https://blog.goo.ne.jp/yamadokoro/e/3f3803fbedff1a535d15da364bcc1a16|C言語 マクロ コンパイル 判定 OS コンパイラ]] 
-2. [[https://firewood.hatenadiary.jp/entries/2005/06/01|cross platform development]] +  [[https://firewood.hatenadiary.jp/entries/2005/06/01|cross platform development]] 
-3. [[http://tekitobibouroku.blog42.fc2.com/blog-entry-39.html|条件コンパイル(インテルコンパイラ icc の判別)]] +  [[http://tekitobibouroku.blog42.fc2.com/blog-entry-39.html|条件コンパイル(インテルコンパイラ icc の判別)]] 
-4. [[https://qiita.com/naohikowatanabe/items/a4e1a3f8080210257a42|gcc のプリプロセッサの定義済みマクロ(Predefined Macros)の確認方法]] +  [[https://qiita.com/naohikowatanabe/items/a4e1a3f8080210257a42|gcc のプリプロセッサの定義済みマクロ(Predefined Macros)の確認方法]] 
-5. [[https://tech.ckme.co.jp/cpp/cpp_predef.shtml|コンパイラの種類とバージョンを知るためのpre-defineされたマクロは?]] +  [[https://tech.ckme.co.jp/cpp/cpp_predef.shtml|コンパイラの種類とバージョンを知るためのpre-defineされたマクロは?]] 
-6. [[https://wiki.onakasuita.org/pukiwiki/?GCC%2F%E5%AE%9A%E7%BE%A9%E6%B8%88%E3%81%BF%E3%83%9E%E3%82%AF%E3%83%AD%2FARM|GCC/定義済みマクロ/ARM]]+  [[https://wiki.onakasuita.org/pukiwiki/?GCC%2F%E5%AE%9A%E7%BE%A9%E6%B8%88%E3%81%BF%E3%83%9E%E3%82%AF%E3%83%AD%2FARM|GCC/定義済みマクロ/ARM]]
  
  
  
programing/c-language/compiler-os-macro-define.1729255820.txt.gz · 最終更新: by yoko