特定の関数名を持つヘッダーに依存する複数のプラットフォームに共通のコードがあります#include
。
問題は、[多かれ少なかれ] 同じヘッダーが各プラットフォームで異なる名前を持っていることです。標準であるため、どのプラットフォームでもヘッダーの名前を単純に変更することはできません#include
。これを共通に保つための推奨される方法は何ですか?
マクロ
#ifdef PLATFORM_A
#include <platformA>
#endif
#ifdef PLATFORM_B
#include <platformB>
#endif
//....
ヘッダーマスキング
一般的なコードでは:
#include "common.h"
プラットフォーム A の「common.h」:
#include <platformA>
プラットフォーム B の「common.h」:
#include <platformB>
または、他の何か?
各方法に関連する長所と短所は何ですか? また、どのような場合にどちらかを使用する必要がありますか?