原创 新世界感悟

  假期這段時間,由於新型肺炎在全國大範圍蔓延,絕大部分小區禁止人員流動。爲了響應國家號召,作者堅持足不出戶。在這裏,作者懷着深深的敬意向全國的醫生和護士們表達感謝,是你們一次又一次拯救了廣大人民羣衆!   這些日子裏,作者

原创 計算機相關的名詞解釋

  當我們參考計算機系統或驅動相關書籍時,書中通常會提起一些縮寫名詞,比如:BIOS、MMU、DSP、DMA、MIPS等,它們具體表示什麼呢?本篇文章將介紹這些常用名詞的含義以及實際用途(名詞解釋部分來自網絡或相關書籍)。 目錄參

原创 計算機編碼原理——不同數據類型存儲中文編碼

  作者以前在Windows平臺編程時,對於字符串顯示中文以及不同的字符集編碼格式不太理解。最近編寫資料用到這部分知識,便通過自己的分析和參考資料做了簡單運用,下面我們一起分析常用的編碼集與中文編碼! 章節預覽: 1.字符數組

原创 auto形式(更多功能)類結構實現

  最近思來索去~一直都是寫模板做數據結構還沒有真正意義上的可以儲存任意數據類型的結構,使用auto還需要先初始化類型,便着手自己實現了一個支持儲存所有數據類型(包括自己創建的類或者結構體)。   設計初衷打算仿auto形式(傳

原创 模板共享指針(shared_ptr)原理實現

  最近在書中看到關於智能指針的描述,由於之前沒有使用過智能指針,便通過調試源代碼(源代碼的實現有點雜亂,並不能以最簡單直觀的方式呈現)瞭解原理後,以簡單直接的方式寫了一個shared_ptr指針類。 關於shared_ptr指針

原创 Windows消息映射及消息發送(SendMess、PostMess)實現

  最近在看linux系統書籍看到消息調度方面,便動手封裝一個類似MFC簡易的消息發送框架(參考實例,沒有窗口句柄)。   關於框架設計的幾點介紹:     1.設計採用了自動釋放消息節點方式(增加虛析構函數在內部做相關釋

原创 一起學習C語言:C語言數據類型(三)

  上一篇<一起學習C語言:C語言數據類型(二)>中,我們瞭解了整形和字符類型的定義,以及二進制到八進制、十進制和十六進制轉換方式。本篇文章中,我們進行分析浮點數的運算,並通過二進制、十進制和十六進制表達浮點數值。 章節預覽:

原创 一起學習C語言:C語言發展歷程以及定製學習計劃

如何才能學好一門語言? 這個問題始終伴隨着不同的答案。 從本篇開始,作者定期發佈<一起學習C語言>系列文章,本系列文章指引着您翱翔C語言世界,在這浩瀚的知識海洋裏,您將會感受到學好一門語言應具備哪些條件。 前言 初接觸編程那會兒,

原创 一起學習C語言:初步進入編程世界(二)

前言   非常感謝這段時間裏大家給予的支持與幫助,在以後的日子裏,我會更加努力,與大家一起共同進步!   從本篇開始,作者與大家一起學習、分析C語言語法以及經典示例! 正文   到目前爲止,我們雖然成功編譯並執行了第一個程序,但

原创 一起學習C語言:初步進入編程世界(三)

  上一篇<一起學習C語言:初步進入編程世界(二)>中,我們瞭解了C語言的加法運算方式和賦值運算符的用法,並通過printf函數成功輸出計算結果。私下我們可以參考賦值運算表,練習更多的運算符用法,做到真正意義上的舉一反三。   本

原创 一起學習C語言:C語言基本語法(一)

  上一章 <一起學習C語言:C語言數據類型> 系列內容中,我們瞭解了整數類型、字符類型和浮點數類型的使用方法以及二進制到八進制、十進制和十六進制的轉換方式。本章節,我們學習C語言基本語句用法,以及常用的運算符號。 章節預覽:

原创 一起學習C語言:初步進入編程世界(一)

  上一篇<一起學習C語言:C語言發展歷程以及定製學習計劃>中,我們瞭解了C語言發展歷程和C語言適用場景,作者本人按照自己的親身經歷抒寫了一種高效的學習方式以及學習目標。從本篇起,作者將從搭建編譯環境開始,與大家一起進入編程世界!

原创 一起學習C語言:C語言基本語法(二)

  上一篇 <一起學習C語言:C語言基本語法(一)> 中,我們瞭解if語句的語法和不同的應用場景,以及語句塊的使用方式。本篇文章中,我們分析邏輯運算符的用法,並通過幾個示例分析邏輯運算符之間的執行順序。 章節預覽: 2. 邏輯運

原创 Windows高精度微秒級(併發)定時器實現

  自從上次封裝微秒延時函數後,利用空閒時間試着封裝一個微秒定時器(類似MFC定時器形式)使用起來效果還不錯。   關於定時器的幾點介紹:    1.設計採用了自動釋放定時器節點方式(增加虛析構函數在內部做相關釋放判斷,即使用

原创 Windows微秒級定時方法

  在做硬件相關的程序時,需要大量的數據傳輸,當數據發送量大於設備接口接收量時會造成字節bit位覆蓋的問題(比如單根串口線每次發送或者接收一個bit如果發送速度大於接收速度會造成前一個bit位被下一個bit位數據覆蓋);