题目要求
编写一个C语言程序,让它能暂停5秒以后,在输出“hello,123”,并且要求跨平台,在windows和Linux中都能运行
思路分析
- windows平台下的暂停函数的原型是 Sleep(DWORD dwMillsecond),参数单位是“毫秒”,位于<windows.h>头文件
- Linux平台暂停函数的原型是 unsigned int sleep (unsigned int seconds),参数的单位是“秒”,位于<unistd.h>头文件
- #if,#elif,#endif 就是预处理命令,它们都是在编译之前由预处理程序来执行的
撸写代码
#include<stdio.h>
#if _WIN32 //如果是windows平台,就执行 #include<windows.h>
#include<windows.h>
#elif _linux_ //否则判断是不是 _linux_,如果是Linux操作系统,就引入 #include<unistd.h>
#include<unistd.h>
#endif
int main()
{
//不同平台下调用不同的函数
#if _WIN32 //识别windows平台
Sleep(5000); //毫秒
#elif _linux_ //识别Linux平台
sleep(5); //秒
#endif
puts("hello,123"); //输出
return 0;
}
测试结果
在windows中 等待程序开始
5秒之后
在Linux中
将file1重命名为file1.c (本人尝试过了,不改名字等会报错)
编译(file3,file4.c,file5.c 是本人其他的代码,大家不要诧异为什么我的没有,本人用的Redhat7.0 gcc这个软件包是自己装的)
执行