原创 Windows編程-創建窗口

窗口創建的基本步驟是: 設計窗口類 註冊窗口類 創建窗口 顯示更新窗口 消息循環 編寫回調函數 ——————————帥氣的分割線—————————– 下面我們一步一步進行講解: 1.設計窗口類WNDCLASS 我們查看MSDN可以知

原创 編譯原理-算符優先

一、實驗目的 根據文法求出FirstVT和LastVT,構造算法優先表,根據輸入二元組判斷正確與否 二、實驗內容 2.1任務一:構造FIRSTVT,LASTVT FIRSTVT計算過程: (1)若有產生式P->a…或者P->Qa…,則a

原创 OpenGL-創建視口

問題描述: 之前我們創建了一個簡單的窗口。但是存在這一個問題,我們創建窗口的時候創建了一個正方形,在窗口中繪製一個正方形,所以窗口中的正方形可以正常顯示。(如下圖) 但是當我們拉伸窗口,將窗口變爲長方形的時候,發現圖形中的正

原创 彙編-通過子程序交換兩個內存變量

交換兩個內存變量相信大家都不陌生,核心的代碼就是: ;交換[esi],[edi]兩個內存變量 mov eax, [esi] xchg eax, [edi] mov [esi],eax 然而現在我們要通過用匯編編寫一段子程序來調用這個子程序

原创 編譯原理-LR(0)分析法

一、課程設計內容 1.1 功能需求 根據標準規範族構造LR(0)分析表;設計數據結構(領接矩陣)存儲NFA,DFA。並能夠對輸入串進行判別是否正確。 1.2 開發環境 Visual Studio 2015,控制檯應用程序 1.

原创 OpenGL-繪製簡單矩形

/* *功能:本程序將展示一個簡單的OpenGL程序,實現一個窗口 */ #include <gl\glut.h> #include <Windows.h> void draw() { glClearColor(0.0, 0.

原创 Linux-簡單的Makefile編寫

實驗環境 VMware Workstation Pro下Linux Red Hat 內核版本:2.6.32 1.使用vim進行程序編寫 (1)創建Calc.h文件聲明一個類 創建一個類MyCalc,類的數據成員有三個float型

原创 彙編-判斷兩個字符串是否相等

使用串操作: CMPSB|CMPSW|CMPSD ;字節串比較:DS:[ESI]-ES:[EDI] ;然後:ESI←ESI±1/2/4,EDI←EDI±1/2/4 REPE|REPZ ;執行一次串指令,ECX減1

原创 彙編-判斷素數

判斷條件: for(int i = num/2; i>=2; i–) { if(num % i == 0) //被整除 //不是素數 } 根據判斷條件,有彙編程序: ;功能:求2~100之間的所有素數

原创 Linux-shell編程簡單程序

實驗環境 VMware Workstation Pro下Linux Red Hat 內核版本:2.6.32 一、使用shell編程實現輸入一個分數返回分數的等級 1.使用vim進行程序編寫 具體的程序如下: 其中第一行中#!/

原创 彙編-字符串的複製

將一個字符串複製給另一個字符串,我們可以逐個訪問數組並進行逐個地賦值到新的數組中。但我們今天要介紹的是串指令。 MOVSB|MOVSW|MOVSD ;串傳送:ES:[EDI]←DS:[ESI] ;然後:ESI←ESI±1/2

原创 Linux-定時器創建

實驗環境 VMware Workstation Pro下Linux Red Hat 內核版本:2.6.32 1.使用vim編寫程序 (1)創建timer.c文件 頭文件linux/timer.h中包含time_list結構體

原创 Linux-內核模塊編程

實驗環境 VMware Workstation Pro下Linux Red Hat 內核版本:2.6.32 1.使用vim進行程序編寫 (1)編寫hello.c 包含兩個必要的頭文件linux/init.h包含模塊初始化和清除

原创 彙編-求數組中所有偶數的和

程序重點:使用test命令來判斷一個數是不是偶數,而不是使用除2求餘數。 使用除2求餘數的方法太佔寄存器了,設置被除數需要使用eax,設置除數需要一個寄存器,假定使用ebx,兩者的商會存放到eax中,同時把餘數存放到edx中。所以使用

原创 Linux-獲取進程管理

實驗環境 VMware Workstation Pro下Linux Red Hat 內核版本:2.6.32 1.通過vim編寫程序 首先程序需要包含所需要的頭文件。sys/types.h數據結構pid_t在此構造、sys/w