Time of Update: 2018-12-03
在windows核心編程上並沒有花太大的篇幅來介紹,只要明白了它的計數原理就可以輕鬆掌握。訊號量的規則:如果當前資源計數大於0,那麼訊號量處於觸發狀態。如果當前資源計數等於0,那麼訊號量處於未觸發狀態。當前資源計數不會小於0。當前資源計數不會大於最大資源數。建立一個訊號量的函數原型:HANDLE WINAPI CreateSemaphore( __in_opt LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, __in LONG
Time of Update: 2018-12-03
轉一個文章,支援win 7,win8,2008這些,所以我附上原文連結:http://msdn.microsoft.com/en-us/library/ms682586%28VS.85%29.aspxDynamic-Link Library Search OrderA system can contain multiple versions of the same dynamic-link library (DLL). Applications can control the location
Time of Update: 2018-12-03
Pass the system time to this func after called KeQuerySystemTime()BOOLEAN FileTimeToDosDateTime(PLARGE_INTEGER Current_time, // pointer to 64-bit file time PSHORT pFatDate, // pointer to variable for MS-DOS date PSHORT
Time of Update: 2018-12-03
由於你的驅動將要綁定到檔案系統驅動的上邊,檔案系統除了處理正常的IRP 之外,還要處理所謂的FastIo.FastIo是Cache Manager 調用所引發的一種沒有irp 的請求。換句話說,除了正常的Dispatch Functions 之外,你還得為DriverObject 撰寫另一組Fast Io Functions.這組函數的指標在driver->FastIoDispatch.首先需要瞭解的是:FastIo 是獨立於普通的處理IRP
Time of Update: 2018-12-03
個人總結常用的相關API函數:拷貝:strcpy,memcpy,sprintf;strncpy,_snprintf合并:strcat,sprintf;strncat,_snprintf比較:strcmp,memcmp;strncmp 這裡我們只需要分析其中一類的相關函數,同時就可以瞭解其他類的函數了。 首先看看strcpy,memcpy,sprintf三個函數,這三個函數都可以用來進行字串之間的拷貝操作。strcpy::Copy a string.函數原型::char *strcpy(
Time of Update: 2018-12-03
define和typedef的區別: 首先我們來看看下面這個例子:typedef int * int_ptr;#define INT_PTR int *const int_ptr p; //p不可更改,但p指向的內容可更改const INT_PTR p; //p可更改,但是p指向的內容不可更改int_ptr是一種類型(類型本身就是整型指標),const int_ptr p就是把指標給鎖住了p不可更改,而const INT_PTR p是const int *
Time of Update: 2018-12-03
SRWLock與關鍵段的不同之處在於它允許多個線程對被保護資源進行並行訪問,而對被保護的資源的修改則使用獨佔的訪問方式。分配一個SRWLOCK結構,並使函數InitializeSRWLock對其初始化。VOID WINAPI InitializeSRWLock( __out PSRWLOCK
Time of Update: 2018-12-03
今天看了一篇文章,有了突然間恍然大悟的感覺,為什麼原始碼中總是使用sizeof(),為什麼C中嵌入式開發使用時候總是強調位元組對齊的問題,原來是這個緣故,在此表示一下慚愧。WANGSHI,你的能力和水平實在是無法讓人滿意啊,這些基礎的知識都不清楚,也算是上學學習電腦7年的時間了,自己真的為自己感到慚愧。加油啊,不能讓別人看扁自己,需要自己更加的努力啊,把過去逝去的彌補回來,加油!!同時希望能每天進步一些才好^_^
Time of Update: 2018-12-03
有的女人就像Windows 雖然很優秀,但是安全隱患太大。有的女人就像UNIX 她條件很好,然而不是誰都能玩的起。有的女人就像C# 長的很漂亮,但是家務活不行。有的女人就像C++,她會默默的為你做很多的事情。有的女人就像JAVA,只需一點付出她就會為你到處服務。有的女人就像JAVA script,雖然對她處處小心但最終還是沒有結果。有的女人就像彙編 雖然很麻煩,但是有的時候還得求它。有的女人就像 SQL,她會為你的發展帶來莫大的協助。愛情就是死迴圈,一旦執行就陷進去了。愛上一個人,就是記憶體
Time of Update: 2018-12-03
有時候負責資料讀取的線程獲得資源訪問權後發現沒有資源可以讀取,或者寫入線程在獲得資源訪問權的時候發現並沒有資料可寫或是當前的資料結構已滿在等待處理的時候,我們希望線程可以釋放掉鎖,並進入睡眠狀態,直到得到通知已經有資料可讀或可寫為止。這聽起來確實很酷,因為無事可做的線程將不再佔用(或佔用很少的)cpu周期。BOOL WINAPI SleepConditionVariableCS( __inout PCONDITION_VARIABLE ConditionVariable, __inout
Time of Update: 2018-12-03
這套庫做介面還是非常不錯的,雖然官方團隊開始了Lomox的研發,不再支援這套庫了,但是它依然有它的價值。感謝指正。有很多人不知道如何編譯成靜態庫,其實很簡單的。首先在vs中設定duilib項目。配置類型改為靜態庫。第二步修改UIlib.h標頭檔上面的宏。第三步在這個標頭檔下面新增內容:#pragma comment(lib,"oledlg.lib")#pragma comment(lib,"winmm.lib")#pragma comment(lib,"comctl32.lib")
Time of Update: 2018-12-03
/** * binary search algorithm, correct and high performance; * this implementation will always return the first elment that equal to v; * and will avoid overflow when calc the middle; * and can reduce comparence count; * return -1 if not found; *
Time of Update: 2018-12-03
正如演算法名稱那樣,深度優先搜尋所遵循的搜尋策略是儘可能“深”地搜尋圖。在深度優先搜尋中,對於最新發現的頂點,如果它還有以此為起點而未探測到的邊,就沿此邊繼續漢下去。當結點v的所有邊都己被探尋過,搜尋將回溯到發現結點v有那條邊的始結點。這一過程一直進行到已發現從源結點可達的所有結點為止。如果還存在未被發現的結點,則選擇其中一個作為源結點並重複以上過程,整個進程反覆進行直到所有結點都被發現為止。和廣度優先搜尋類似,每當掃描已發現結點u的鄰接表從而發現新結點v時,深度優先搜尋將置v的先輩域π[v]為
Time of Update: 2018-12-03
在日常生活中,包括在設計電腦軟體時,我們經常要判斷一個元素是否在一個集合中。比如在文書處理軟體中,需要檢查一個英語單詞是否拼字正確(也就是要判斷它是否在已知的字典中);在 FBI,一個嫌疑人的名字是否已經在嫌疑名單上;在網路爬蟲裡,一個網址是否被訪問過等等。最直接的方法就是將集合中全部的元素存在電腦中,遇到一個新元素時,將它和集合中的元素直接比較即可。一般來講,電腦中的集合是用雜湊表(hash
Time of Update: 2018-12-03
第8部份: 指令碼系統指令碼系統 我們從第七部分的遊戲網路問題來到了指令碼系統,因為其呈現的故事敘述機會,最近已經形成一種很大的遊戲元素。在一個需要以受控制的方式解釋的情景,預先編製的電影指令碼是解決問題的方法。在電影中,這通常用來處理或者由主角向一個夥伴解釋情形,或者敵人對英雄解釋。當然,有其它的方法來做這件事情 -- 敘事者,倒敘,等等 – 但通常是使用即時情景的人們和事件來完成。當然,遊戲是不同的,遊戲開發人員在他們平常的FPS中不應該做太多的倒敘,因為通常會需要載入新的環境或者關卡,以
Time of Update: 2018-12-03
一部分轉用的人家的,一部分我的經驗!學習筆記----圖形介面程式Qt安裝及其在2410上的移植 本文主要內容為編譯器的安裝,安裝與建立Qt 案頭運行環境,Qt/E 的交叉編譯,建立本機Qtopia 虛擬平台,Qtopia2.1.1 在2410-上的移植. 預備:編譯器安裝 編譯器:
Time of Update: 2018-12-03
前言很早想說說這個問題了,經常也會有很多公司拿位域出來考人,呵呵要真的想弄清楚還要一點點的分析。這裡先看看網宿的一道筆試題目,這道題目我之前是複製網上的,結果不對,修改了一下,可以正確運行了,謝謝(imafish_i )提醒://假設硬體平台是intel x86(little endian) typedef unsigned int uint32_t;void inet_ntoa(uint32_t in){ char b[18]; register char *p; p =
Time of Update: 2018-12-03
With AVC/H.264 the MPEG-4 Standard defines one of the newest and technically best available, state-of-the-art Video Coding FormatsThe AVC/H.264 Video Coding Standard was together finalized and identically specified in 2003 by two Groups, the MPEG
Time of Update: 2018-12-03
在電子技術中,脈衝訊號是一個按一定電壓幅度,一定時間間隔連續發出的脈衝訊號。脈衝訊號之間的時間間隔稱為周期;而將在單位時間(如1秒)內所產生的脈衝個數稱為頻率。頻率是描述周期性迴圈訊號(包括脈衝訊號)在單位時間內所出現的脈衝數量多少的計量名稱;頻率的標準計量單位是Hz(赫)。電腦中的系統時鐘就是一個典型的頻率相當精確和穩定的脈衝訊號發生器。頻率在數學運算式中用“f”表示,其相應的單位有:Hz(赫)、kHz(千赫)、MHz(兆赫)、GHz(吉赫)。其中1GHz=1000MHz,1MHz=1000k
Time of Update: 2018-12-03
#include<reg52.h>typedef unsigned char uint8;typedef unsigned intuint16;sbit dula=P2^6;sbit wela=P2^7;sbit LCDEN = P3^4;sbit RS = P3^5;sbit RW = P3^6;sbit BUSY = P0^7; //繁忙檢測標誌void _delay_ms(uint16 delaytime); //延時函數void LCD1602_Wait();