警告 1 warning C4996: '_sleep': This function or variable has been superceded by newer library or operating system functionality. Consider using Sleep instead. See online help for details. c:\users\administrator\documents\visual studio 2012\projects\test001\test001\源.cpp 6
創(chuàng)新互聯(lián)建站是專業(yè)的文成網(wǎng)站建設(shè)公司,文成接單;提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行文成網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
警告1 警告C4996:'_sleep':該函數(shù)或變量已經(jīng)被新的庫(kù)或操作系統(tǒng)的功能所取代??紤]使用,而不是睡眠。詳細(xì)信息請(qǐng)參見(jiàn)在線幫助。 C:\用戶\管理員\文檔\ Visual Studio 2012中\(zhòng)項(xiàng)目\ test001\ test001\源的.cpp6
就是說(shuō)最好用新的Sleep(); 來(lái)自windows.h或winbase.h
原理應(yīng)該是這樣的:
例如執(zhí)行sleep(3),表示當(dāng)前線程停滯3ms后再繼續(xù)執(zhí)行下面的代碼,底層步驟是:
創(chuàng)建一個(gè)元素{timeMillis:[當(dāng)前時(shí)間戳+3ms],threadId:[線程id]},并將該元素按順序插入定時(shí)回調(diào)隊(duì)列中,比如現(xiàn)在操作系統(tǒng)中有3個(gè)定時(shí)正在停滯中,分別是1ms、10ms、3ms之后喚醒,那么這個(gè)隊(duì)列就類似這樣子:{timeMillis:110928283,threadId:106}-{timeMillis:110928285,threadId:211}-{timeMillis:110928292,threadId:189},時(shí)間從小到大排序;
每當(dāng)定時(shí)器產(chǎn)生一次中斷時(shí),中斷回調(diào)函數(shù)中就會(huì)獲取這個(gè)隊(duì)列中第一個(gè)元素,將其timeMillis與當(dāng)前時(shí)間戳比較,如果相等或超時(shí),就表示該元素對(duì)應(yīng)的線程106號(hào)線程需要喚醒了,則將106號(hào)線程的狀態(tài)設(shè)置為TASK_RUNNING(就緒態(tài)),當(dāng)下一次進(jìn)程切換時(shí),106線程就可以被切換到并執(zhí)行了;
注意:2中說(shuō)的定時(shí)器和系統(tǒng)線程調(diào)度時(shí)鐘定時(shí)器我覺(jué)得不是一個(gè),而是兩個(gè)時(shí)鐘定時(shí)器,不確定。
在windows.h里面。
在VC中使用時(shí),sleep函數(shù)的頭文件為windows。h,在Linux下,gcc編譯器中,使用的頭文件因gcc版本的不同而不同
在VC中,Sleep中的第一個(gè)英文字符為大寫的"S",在linux下不要大寫,在標(biāo)準(zhǔn)C中是sleep,不要大寫,簡(jiǎn)單的說(shuō)VC用Sleep,別的一律使用sleep
在VC中,Sleep()里面的單位,是以毫秒為單位,所以如果想讓函數(shù)滯留1秒的話,應(yīng)該是Sleep(1000);在Linux下,sleep()里面的單位是秒,而不是毫秒。
擴(kuò)展資料:
Windows.h頭文件之所重要,是因?yàn)轭^文件封裝了許多庫(kù)函數(shù)以及一些類,將一些復(fù)雜的工作由庫(kù)函數(shù)處理,Windows.h頭文件中包含了Windef.h、Winnt.h、Winbase.h、Winuser.h、Wingdi.h等頭文件,涉及到了Windows內(nèi)核API,圖形界面接口,圖形設(shè)備函數(shù)等重要的功能。
在C語(yǔ)言家族程序中,頭文件被大量使用。一般而言,每個(gè)C++/C程序通常由頭文件和定義文件組成。頭文件作為一種包含功能函數(shù)、數(shù)據(jù)接口聲明的載體文件,主要用于保存程序的聲明,而定義文件用于保存程序的實(shí)現(xiàn)。
參考資料來(lái)源:百度百科-windows.h