在Linux下利用宏定义的方式使用Sleep函数

前言

Sleep是存在于Windows.h头文件中用于将进程挂起的函数。显然,Linux下是没有该头文件的,该如何实现呢?

实现方法

Linux的unistd.h库为我们提供了类似功能的usleep函数,但该函数的计时单位是微妙而不是和Sleep一样使用毫秒计时。
为了方便程序的跨平台开发,可以使用如下宏定义将usleep化妆为Sleep

#ifdef linux
#include<unistd.h>
#define Sleep(value) usleep(value * 1000);
#endif

只需将以上宏定义加到源码中就可以正常的在Linux下使用Sleep函数了。

GNU出品的转码库——libiconv v1.15 for windows x64下载(已经过编译)

libiconv库是GNU项目的一部分,负责对字符进行不同编码间的转换。是Linux下非常常用的编码转换库,其对应的命令是:iconv(命令的使用方法可以百度了解下)。

libiconv库原生支持Windows平台,但考虑到很多人为了追求效率而不想自己动手编译这个庞大而复杂的库,故我在这里为大家提供已经编译好的支持windows 64位的二进制文件——可以动态调用也可以静态编入程序,提供Debug和Release两个版本。
注:使用本库请确保你的项目是64位的,否则无法正常调用。

二进制文件已在Win10 + VS 2017环境中测试通过。提供的版本为libiconv v1.15,该版本发布于2017年2月,截至本文章发布时为libiconv库的最新版本。

下载地址:
libiconv-1.15 for windows x64