題目要求
編寫一個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這個軟件包是自己裝的)
執行