• <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   管理


            特殊功能
             
            久久精品无码一区二区三区| 亚洲国产综合久久天堂| 久久精品aⅴ无码中文字字幕重口| 一本久久a久久精品vr综合| 国产情侣久久久久aⅴ免费| 亚洲嫩草影院久久精品| 久久久黄色大片| 久久精品国产一区| 偷窥少妇久久久久久久久| 国产精品久久久久久久久| 亚洲人成无码www久久久| 精品久久香蕉国产线看观看亚洲| 久久人人爽人人爽人人片AV麻豆 | 欧美成a人片免费看久久| 思思久久99热只有频精品66| av国内精品久久久久影院| 久久久久亚洲AV综合波多野结衣 | 亚州日韩精品专区久久久| 久久777国产线看观看精品| 亚洲国产成人精品久久久国产成人一区二区三区综 | 久久精品九九亚洲精品天堂| 日韩欧美亚洲综合久久| 青青热久久综合网伊人| 精品伊人久久大线蕉色首页| 久久久久久青草大香综合精品| 国产精品久久久久国产A级| 99久久免费国产精品特黄| 久久无码AV中文出轨人妻| 人人狠狠综合久久亚洲88| 久久精品中文闷骚内射| 久久人人爽人人人人爽AV | 亚洲AV无码1区2区久久 | 精品久久久久久无码中文字幕 | 色综合久久久久久久久五月| 一本色综合久久| 亚洲婷婷国产精品电影人久久| 久久久久久久尹人综合网亚洲 | 国产精品久久久久蜜芽| 国产精品99久久久精品无码| 性做久久久久久久久| 无码国内精品久久综合88|