<分区>
设计具有不同平台特定实现的函数的最佳实践是什么?
例如,我在库模块(已导出)中有一个结构看起来像这样的函数:
void foo()
{
#ifdef PLATFORM_WINDOWS
// windows-specific implementation
#elif PLATFORM_LINUX
// linux-specific implementation
#elif PLATFORM_SOLARIS
// solaris-specific implementation
#endif
}
每个部分都可以(并且确实)包含大量代码,这使得阅读变得困难等等。
做这样的事情的正确方法是什么?