在以前,会用编译预处理语句,比如
#if 。。。
#else 。。。
#endif
来实现跨平台的程序运行,比如:
#if GameLOL_Win32
{
Windows代码
}
#else if GameLOL_Linux
{
Linux代码
}
#endif
把这些变量都初始化为 0 ,只需要在编译的时候,利用编译器选项去获得变量的值,比如,GameLOL_Win32 = 1,于是就跑Win32的代码了。
但是,这个方法太臃肿,于是新方法就来了——:
把操作系统虚拟化出这个游戏外,假设这个游戏没有OS支持,再把需要OS支持的代码单独用.h 和.cpp 文件写好。
这样就实现了代码的平台独立性,在不同的OS上也能运行。