gcc 如何判断操作系统的类型?

来源:百度知道 编辑:UC知道 时间:2024/05/29 15:01:28
因为我希望我写的源代码可以在windows和Linux里都能编译,所以我希望在gcc里能通过宏来判断系统的类型以便,并用条件编译来实现。
我的意思是能够用宏来跳过那些不可移植的代码。。。。。

使用GCC的参数-Dmacro 做开关

在源代码里里自己定义 然后通过上面的开关实现

没错
#define __WIN__ //自己加的

#ifdef __WIN__
windos的代码
#else
其他平台代码
#endif

编译的时候 加参数-D__WIN__

这个最好是自己再做一个配接层,也就是在写一个在不同操作系统下都能让你的程序能够运行的简单或复杂的库。

标准库也是在不同的平台有不同的实现,连boost有些库都是需要单独编译,就是因为这些库有平台依赖性。

一般如果是windows,都会定义一些windows特性的宏

#ifdef Windows
printf("windows\n");
#endif
#ifdef Linux
printf("linux\n");
#endif

这样不行吗?