ros*_*vid 13 c++ portability cross-platform multiplatform
我正在编写一个可移植的C++应用程序.如何根据运行的操作系统包含不同的标头.有没有办法在C++中执行此操作,还是必须使用构建系统?
Bla*_*ear 11
与预处理器:
#ifdef _SUNOS
//code
#elseif _LINUX
//code
#elseif _HPUX
//code
#elseif _WIN32
//code
#else
#error OS not supported
#endif
Run Code Online (Sandbox Code Playgroud)
我会使用预处理器指令和跨平台构建系统,如CMake.你可以这样做:
#ifdef LINUX
#include <unistd.h>
#elif defined(WINDOWS)
#include <algorithm.h>
# elif Defined(MAC_OSX)
//... etc.
#else
#error No operating system defined
#endif
Run Code Online (Sandbox Code Playgroud)
然后将相应的预处理程序标志添加到构建中,例如:-DLINUX.
| 归档时间: |
|
| 查看次数: |
2600 次 |
| 最近记录: |