我在多个平台上有通用代码,这些代码依赖于具有某些函数名称的标头#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>
或者是其他东西?
每种方法的优缺点是什么,在什么情况下我应该使用一种方法而不是另一种方法?