原创 ubuntu 下QT4鏈接C語言編寫的.a靜態庫
很久沒有使用QT進行開發了,大概有3-4年了。一個ubuntu下的小項目,讓我重新使用QT進行開發。 用C語言寫了一個靜態庫文件.a文件,準備在QT4下進行鏈接使用。我在pro工程配置文件中增加LIBS的配置,使用各種方法
原创 C++應用程序出現 0xc0150002 錯誤導致無法啓動跟蹤解決
在調試某個C++應用程序的時候,出現如下錯誤,應用程序無法啓動: 果斷打開 Depends.exe 工具,把這個exe文件拉到這個工具裏面查看。 很明顯了,紅色地方標明這個應用程序缺少
原创 USB驅動查詢USB設備信息
當USB設備插入時,系統需要查詢USB設備信息,會向USB驅動發送相關的查詢指令。 通常都是在PNP的IRP中處理,主功能號 IRP_MJ_PNP,子功能號爲 IRP_MN_QUERY_ID。
原创 Windows內核模式下套接字結構
Windows應用層的網絡通訊使用socket非常常見。內核模式下呢?一種是可以使用TDI或者NDIS驅動程序,但是TDI驅動程序在Win7系統以後就無法使用,而NDIS驅動學習成本比較高,編程的難度比較高。如果是簡單的實
原创 Linux下查看可執行文件、動態庫的ELF頭等信息
用法: readelf <option(s)> elf-file(s) 作用: 和Windows下的PE文件類似,ELF文件是linux系統下可執行文件、動態庫文件、靜態庫文件的標準格式。有時候我們需要查看ELF文
原创 Win7以上系統通過Dbgview打印驅動日誌
除了使用windbg調試Windows驅動程序,調用函數 DbgPrint 通過Dbgview 查看驅動日誌也是很常用的手段。XP系統下打印
原创 軟件設計師算法之回溯法--8皇后問題
8皇后問題,我想IT人士應該基本都聽過了。特別是會下國際象棋的。規則很簡單,每一個皇后會攻擊每一條線的其它皇后,因此要確保每一條線上(包括直線和對角斜線)只能存在一個皇后。8皇后問題我一直沒有編寫過代碼去實現。今天正好補上。
原创 uuidgen.exe 同時生成多個GUID
首先在VS的安裝目錄下搜索"uuidgen.exe",找到該工具。該工具通常在子目錄"Common7\Tools"。 接着打開cmd命令行工具,通過cd命令進入到該工具存放目錄,輸入命令"uuidgen.exe -c
原创 SSD開發從零到入門簡單總結
很久沒有寫博文了,手生了,思路都生鏽了,就先寫個簡單的總結吧。 自2019年6月份開始,從事固態硬盤(SSD)的固件開發有1年半的時間。最早對SSD的一無所知,現在應該算是基本上入門了吧。 學習一個門類,總是會走或
原创 Windows驅動分發函數中IRP處理的一個細節
最近編寫一個網口轉虛擬串口驅動,在處理Read和Write分發函數過程的時候,把數據通過網絡成功發出去了。但是應用程序或者串口設置工具的讀寫一直沒有成功返回,通過串口監控工具AccessPort137進行監控到Read和W
原创 ubuntu下gcc鏈接靜態庫.a文件
ubuntu系統下需要鏈接.a靜態庫文件,查找了一些資料運行gcc命令發現都不能鏈接成功。最後自己通過一些測試,成功鏈接並且運行。 使用命令如下: gcc -o test dll_test.c -L ./ SDKUse
原创 WinDbg 小貼士 -- 通過雙機聯調來遠程調試應用程序
雙機聯調時,不僅可以調試內核層,也可以調試應用層。 被調試的系統:XP系統,因此沒有session會話需要切換。 1 使用 !process 0 0 獲取用戶空間的所有的進程的信息,然後找到你需要調試的exe進
原创 ReacOS源代碼閱讀之驅動--atexit實現原理和機制
之前的<<main函數執行前後--全局構造和atexit>>文章裏說到atexit函數註冊的函數是在main函數之後執行的,同時類似於棧,後註冊的函數先執行。 今天通過分析ReactOS的源代碼,來驗證這個結論吧。
原创 軟件設計師算法之分治法--歸併排序
最近準備要考中級軟件設計師。該門考試涉及到算法相關的,剛好也順帶着整理下之前自己學習過的知識。 算法的學習沒有什麼捷徑,就是理解算法思想和邏輯。最重要的一點,一定要自己編寫代碼,調試通過,這樣纔算是完成了算法的學習。
原创 Linux下Make編譯結果輸出到文件
Linux系統下執行make命令,編譯比較大一點的工程或者文件的時候,在命令行下錯誤和警告信息直接就把我們的實現覆蓋了。 把編譯日誌輸出到文件是個選擇,執行如下命令即可達到目的。 make > build.lo