#ifdef _WIN32 #ifdef _WIN64 {windows 64位代码}#else{windows 32位代码}#endif#else{其它平台代码}#endif
#ifdef _WIN32的来源 宏定义:#ifdef _WIN32 由编译器(ml.exe/ml64.exe)内部定义的。具体描述是: _WIN32:Defined for applications for Win32 and Win64. Always defined. _WIN64:Defined for applications for Win64. windows平台上总是会有这种宏,所以用来判断是否是windows平台。
两者的区别在于#ifdef只能使用一个条件,而#if defined(NAME)可以做复合条件句。例如,在您的情况下:...
预处理器指令,用于确定是定义特定的预处理器常量还是宏。展开表 #ifdef 标识符 ... #endif #ifndef 标识符 ... #endifparameters展开表 项说明 标识符 要检查的常量或宏的标识符。 备注可以在#if使用的任何位置使用 #ifdef 和 #ifndef 指令。 #ifdef 语句等效于 ) 指令。 这些指令仅针对是否存在使用 #...
两者的区别在于#ifdef只能使用一个条件,而#if defined(NAME)可以做复合条件句。例如,在您的情况下:...
如果要判断Windows平台,不如使用_WIN32这个宏,这是编译器内置的宏,对32和64位程序有效。_WIN64对64...
完全可以删除。直接使用cl等工具编译源文件的时候,就更加没有这个宏了。类似的还有WIN32宏。如果要判断Windows平台,不如使用_WIN32这个宏,这是编译器内置的宏,对32和64位程序有效。_WIN64对64位程序有效。其实更常用的是_MSC_VER,这是vc版本的内置宏。
假设宏WIN32表示windows操作系统,则答:因为操作系统有很多系列,而且各个系列都有差别的,要想让你写的程序能在多个操作系统上运行,就要在操作系统的不同点上分别处理, win32是微软系列的,还有unix等等.ifdef WIN32 表示如果是在win32系统下就在这里做一些处理 endif ...
众所周知(bushi),Windows的所有程序都是由消息驱动的,每个程序都有自己的消息队列,通过处理各种各样的...
只在 windows下编译器作用,其他环境比如 linux 就不会编译到。