原创 SMBIOS介紹(1):概述

先介紹 DMI 。 DMI 是英文單詞 Desktop Management Interface 的縮寫,也就是桌面管理界面,它含有關於系統硬件的配置信息。計算機每次啓動時都對 DMI 數據進行校驗,如果該數據出錯或硬件有所變動,就會

原创 X86系統寄存器(初始化系統,控制系統操作)

一、系統寄存器 1. EFLAGS 寄存器 ① 存放system flags和IOPL; ②控制任務切換和模式切換,處理終端,指令追蹤; 2.控制寄存器(CR0,CR2,CR3,CR4) ①控制系統級操作; ②支撐操作系統某

原创 數據結構—堆排序及其應用(優先級隊列)

一、時間複雜度 O(nlgn),原地排序算法(需要的額外存儲空間爲常數); 二、堆 1.堆的性質 (1)大頂堆:除了根節點之外的每個節點滿足:A[parent(i)]>=A[i](最大元素在根節點) (2)小頂堆:除了根節

原创 MFC Tab控件使用方法

1、首先創建一個MFC對話框框架,在對話框資源上從工具箱中添加上一個Tab Control 控件,根據需要修改一下屬性,然後右擊控件,爲這個控件添加一個變量,將此控件跟一個CTabCtrl類變量綁定在一起,這裏設爲m_tabctrl 2、

原创 MFC ListBox控件使用方法總結

MFC中listbox控件是爲了顯示一系列的文本,每個文本佔一行。 Listbox控件可以設置屬性爲: LBS_CHILD   :(默認)子窗口 LBS_Visible :(默認)可視 LBS_Multiplesel :可

原创 C++編程技巧—對數運算實現

可以調用C、C++中現成的算法庫實現整數對數運算,比較高效的64位整數對數運算實現方法如下: int Log2(uint64_t n) { int result; if( n & 0xfffffff

原创 STL 迭代器

一、迭代器分類 1.輸入迭代器(只能從序列容器中讀取數據,不能向其中寫入數據) 如輸入流迭代器:istream_iterator<T> 2.輸出迭代器(只能向序列容器中寫入數據,不能從其中讀取數據,不要求定義==和!=) 如輸出流

原创 STL組件概述

一、六大組件 容器、類屬算法、迭代器、函數對象、適配器、分配器 二、容器(存儲其他對象集合的對象) 1.序列容器(將一組具有相同類型的對象以嚴格線性的形式組織在一起) vector<T>:隨機訪問編程序列,即:訪問複雜度爲O(

原创 GitHub常用命令

1 Git簡介   Git是用C語言開發的分佈版本控制系統。版本控制系統可以保留一個文件集合的歷史記錄,並能回滾到另外一個狀態(歷史記錄狀態)。對 於任何一個文件,在 Git 內都只有三種狀態:已提交(committed),已修改

原创 SMBIOS介紹(2):結構表

從 SMBIOS 2.3 版本開始,兼容 SMBIOS 的實現必須包含以下 10 個數據表結構: BIOS 信息 (Type 0) 、系統信息 (Type 1)、系統外圍或底架 (Type 3) 、處理器信息 (Type 4) 、高

原创 Linux下 GitHub使用

1 Linux下Git和GitHub環境的搭建 第一步: 安裝Git,使用命令 “sudo apt-get install git” 第二步: 創建GitHub帳號 g第三步: 生成ssh key,使用命令 “ssh-keygen

原创 IntelMP(Intel Multiple Processor)相關結構

一、MP Floating Pointer Structure 1. MP Floating Pointer 結構 2.表中各項的含義 位置 名稱 長度(Bytes) 描述 00H

原创 後科技時代--處理器的思考

在距離今天不到六十年的時間裏,出現了幾個與當今電子信息領域有着重大影響的公司和個人。最重要的公司當然是Fairchild半導體,另一些是Fairchild半導體派生出的公司。最有影響力的人選有諸多爭議,有人說是Robert Noyce

原创 【Python】 sort、sorted高級排序技巧

這篇文章主要介紹了python sort、sorted高級排序技巧,本文講解了基礎排序、升序和降序、排序的穩定性和複雜排序、cmp函數排序法等內容,需要的朋友可以參考下 Python list內置sort()方法用來排序,也可以用

原创 SMBIOS介紹(3):實現

 Linux中實現了SMBIO內核模塊,它是通過/proc文件系統,以一種用戶可理解的格式或純粹的二進制格式來訪問SMBIOS結構的信息。sourceforge上有這個內核模塊的源代碼,地址爲http://sourceforge.net