• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            MyMSDN

            MyMSDN記錄開發(fā)新知道

            計(jì)時(shí)器代碼片段

            這不是一個(gè)面向?qū)ο蟮拇a庫,它的存在僅僅只是為了說明幾個(gè)函數(shù)調(diào)用,如果要在您的工程中應(yīng)用相關(guān)內(nèi)容,請自行構(gòu)建(這應(yīng)該不難),或者看看我推薦的文檔。

            // ProcessAffinity.cpp : 定義控制臺應(yīng)用程序的入口點(diǎn)。
            //
            
            #include "stdafx.h"
            #include <windows.h>
            #include <iostream>
            #include <vector>
            
            using namespace std;
            void DisplayFrequency(ostream &out, LARGE_INTEGER &freq);
            
            struct TimeSpan
            {
                LARGE_INTEGER *Frequency;
                LARGE_INTEGER StartCounter;
                LARGE_INTEGER StopCounter;
                BOOL HAS_ERROR;
                double CalTimeSpan(){
                    return (StopCounter.QuadPart - StartCounter.QuadPart)/Frequency->QuadPart;
                }
            };
            
            int _tmain(int argc, _TCHAR* argv[])
            {
                HANDLE CurrentProcessHandle;
                DWORD ProcessAffinityMask, SystemAffinityMask, AllowProcessAffinity;
            
                CurrentProcessHandle = GetCurrentProcess();
            
                //GetCurrentProcess返回一個(gè)常量,代表當(dāng)前的進(jìn)程句柄
                cout<<CurrentProcessHandle<<endl;
                cout<<(HANDLE)-1<<endl;
                cout<<(void*)-1<<endl;
                cout<<(void*)0xffffffff<<endl;
            
                cout<<"-----------------------------"<<endl;
            
                if(GetProcessAffinityMask(CurrentProcessHandle, &ProcessAffinityMask, &SystemAffinityMask))
                {
                    cout<<ProcessAffinityMask<<endl;    //0x0001
                    cout<<SystemAffinityMask<<endl;        //0x0001
                
                    AllowProcessAffinity = ProcessAffinityMask & SystemAffinityMask;
                    cout<<AllowProcessAffinity<<endl;
                }
            
                LARGE_INTEGER Freq;
                typedef vector<LARGE_INTEGER> FreqVec_type;
                FreqVec_type FreqVec;
                
                while(FreqVec.size() != 5)
                {
                    if(QueryPerformanceFrequency(&Freq))
                    {
                        DisplayFrequency(cout, Freq);
                        FreqVec.push_back(Freq);
                    }
                    Sleep(1000);
                }
            
                for(FreqVec_type::iterator iter = FreqVec.begin(); iter!=FreqVec.end(); ++iter)
                {
                    DisplayFrequency(cout, *iter);
                }
            
                cout<<"---------------------"<<endl;
            
                //calculate the timeSpan;
                TimeSpan ts;
                int sleepTime(3123);
            
                ts.Frequency = &Freq;
            
                if(QueryPerformanceCounter(&ts.StartCounter))
                {
                    ts.HAS_ERROR = false;
                    Sleep(sleepTime);
                }
                if(!ts.HAS_ERROR)
                {
                    QueryPerformanceCounter(&ts.StopCounter);
                }
                
                cout<<ts.CalTimeSpan()<<endl;
                cout<<(ts.StopCounter.QuadPart-ts.StartCounter.QuadPart)/sleepTime<<endl;
            
                return 0;
            }
            
            void DisplayFrequency(ostream &out, LARGE_INTEGER &freq)
            {
                out<<"start display!"<<endl;
                out<<freq.HighPart<<endl;
                out<<freq.LowPart<<endl;
                out<<freq.QuadPart<<endl;
                out<<"end display!"<<endl;
            }
            
            

            推薦文檔:《使用增強(qiáng)的計(jì)時(shí)器測量代碼段》(下載可適合打印,已排版,閱讀該文檔需要使用Microsoft Word 2007或相關(guān)閱讀器(后綴docx),如您需要pdf文檔,可以給我留言,我會將它發(fā)給你,在CSDN的下載中,您可能需要注冊成為相關(guān)網(wǎng)站的會員,或者使用積分,如果您覺得麻煩,可以直接向我索取!點(diǎn)此獲取!

            posted on 2009-02-19 01:49 volnet 閱讀(649) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            特殊功能
             
            国产香蕉97碰碰久久人人| 久久福利资源国产精品999| 国产精品激情综合久久| 亚洲va久久久噜噜噜久久男同| 亚洲国产成人久久精品99 | 亚洲精品美女久久久久99小说| 久久久精品国产| 欧洲国产伦久久久久久久| 亚洲午夜久久久久久久久久 | 久久久久亚洲AV成人网人人网站 | 熟妇人妻久久中文字幕| 7国产欧美日韩综合天堂中文久久久久 | 91精品国产综合久久婷婷| 久久久久亚洲AV无码永不| 欧美喷潮久久久XXXXx| 久久精品夜夜夜夜夜久久| 久久精品无码专区免费| 国内精品久久久久国产盗摄| 无码人妻精品一区二区三区久久| 久久精品国产一区二区三区| 久久国产精品久久国产精品| 久久国产精品一区| 国产精品免费福利久久| 国内精品久久久久久久影视麻豆| 日韩精品无码久久久久久| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 无码人妻久久一区二区三区| 欧美久久天天综合香蕉伊| 国产精品久久久久久久午夜片| 91精品国产综合久久久久久| 婷婷五月深深久久精品| 超级97碰碰碰碰久久久久最新| 伊人色综合久久天天| 狠狠狠色丁香婷婷综合久久五月| 久久精品人人做人人爽97| 久久99国产乱子伦精品免费| 久久人人妻人人爽人人爽| 亚洲国产精品无码久久一区二区 | 无码人妻少妇久久中文字幕蜜桃| 久久亚洲精品无码aⅴ大香| 欧美日韩中文字幕久久久不卡 |