如何在 C/C++ 中声明所编写的代码是在 HP-UX 或 Solaris 或 AIX 中构建的?
最佳答案
我发现,至少对于 gcc 来说,解决这个问题的一个好方法是拥有这个 makefile:
defs:
g++ -E -dM - < /dev/null
然后,:
$ make defs
应该输出所有可用的定义。
所以:
$ make defs | grep -i AIX
$ make defs | grep -i HP
应该会给你答案。 Linux 示例:
$ make defs | grep -i LINUX
#define __linux 1
#define __linux__ 1
#define __gnu_linux__ 1
#define linux 1
一旦找到您要查找的定义,您就可以在代码的开头键入:
#if !(defined(HP_DEFINE) || defined(AIX_DEFINE) || defined(SOLARIS_DEFINE))
# error This file cannot be compiled for your plateform
#endif
关于c++ - 在 C/C++ 中声明 Unix 风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1929380/