编程小白C语言之跨平台运行

题目要求

编写一个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这个软件包是自己装的)

执行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章