一,需求
虽然C++的自带库中并没有定义好可以让程序或线程暂停的sleep函数,但是在各个操作系统的官方库中还是有这个函数的,windows下就要包含windows.h头文件,而基于unix或linux就需要unistd.h头文件。
注:Mac os是基于unix的操作系统!
二,问题
如果我们的程序直接将我们自己操作系统的库#include直接使用的话,我们的程序在其他操作平台上就会出现报错的情况。所以,为了方便我们跨平台编程,需要自己定义一个跨平台的sleep函数。
三,#ifdef语法
#ifdef-#elif-#else-#endif可以判断是否定义了某个宏,同时有#ifndef判断是否没有定义某个宏
#ifdef NAME #do #elifdef NAME2 #do #else #do #endif
大概的语法是这样的,如果要深入了解此用法,推荐访问: