#ifdef HAVE_UNISTD_H
#include<unistd.h>
#else
extern int getpid(void)
#endif /* HAVE_UNISTD_H */
ヘッダーファイルが利用可能であることを確認するのがアイデアだと思います<unistd.h>
。そうでなければ、extern int getpid(void)
これは非常に基本的なものであることを知っています。しかし、インターネット上で良い結果が見つかりませんでした。 HAVE_UNISTD_Hマクロはどういう意味ですか?
答え1
これが正確に意味するのは、可能であればHAVE_UNISTD_H
定義する必要があるということです。unistd.h
たとえば、これはAutoconfによって設定されます。ヘッダーマクロの定義。
これは、いくつかの外部ツールが次のことを確認すると仮定します。unistd.h
はいconfig.h
この事実を保存するには、他のヘッダファイル(通常はAutoconfを使用)を使用して更新できます。 Cコンパイラ自体はこれを設定しません。