0

特定の関数名を持つヘッダーに依存する複数のプラットフォームに共通のコードがあります#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>


または、他の何か?

各方法に関連する長所と短所は何ですか? また、どのような場合にどちらかを使用する必要がありますか?

4

1 に答える 1