0
私は*.c
と*.m
ソースによって含まれているヘッダーファイルを持っています。 Cソースにファイルが含まれている場合は、Objective Cの内容を含む行をスキップしたいと思います。したがって、gccにObjective Cファイルをコンパイルしているときにアクティブである組み込みコンパイラ定義があるかどうか疑問に思っていました。これは、コンパイラが現在C++ソースをコンパイルしていることを示す__cplusplus
定義に似ています。 Objective Cに相当するものはありますか?gcc define Objective C
もちろん、自分自身のプリプロセッサシンボルである#define
でも構いませんが、gccにはすでにこの定義が組み込まれているかどうかを知りたいと思います。
ヘッダーファイルを別々のCヘッダーファイルとObj-Cヘッダーファイルに分割するのはなぜですか? – Sulthan
私は数十の代替ソリューションがあることを知っており、これは悪いコーディングスタイルであることを知っていますが、私は本当にこの質問の答えに興味があります。コンパイラはObjective Cのために何かを定義しているかどうか? – Andreas
Google "gcc __cplusplus"と、[Standard Predefined Macros](https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html)があります。 – Willeke