探索Windows的記憶體機制

記憶體是作業系統的核心部分,所以我們非常有必要瞭解記憶體的分配機制。在DOS下,訪問記憶體的指標是用段地址:位移量來表示,所有程式共用一個記憶體空間,由低向高分配記憶體空間,所以任何程式都可以隨便修改記憶體中的資料,包括不屬於自己程式的記憶體空間和中斷向量表。而且所有程式被局限在1M的基本記憶體(Base Memory)中,不能直接存取擴充記憶體。對於Windows下的程式來說,它所訪問的記憶體位址不再是真實的。而是虛擬、獨立的全平坦式(flat)的記憶體空間。如一個32位的程式可訪問記憶體位址

Windows基礎調試器(BASIC DEBUGGER)

Windows提供了許多偵錯工具的方法.其中一個叫Basic Debug.提供了基礎調試方法.他是一個事件驅動的調試方法.提供了簡單調試功能.所謂事件驅動就是在相關調試事件發生時給調試器發送相關事件並由調試器對該事件採取適當的動作.  下面就來看看如何建立一個基礎調試器.有兩種方式運行基礎調試器.1.其中一個方法是調試正在運行進程.要對運行中的進程進行調試,可以通過調用DebugActiveProcess,並指定進程標識(PID).要得到進程ID可以調用 EnumProcesses

xp修複win7啟動項方法

xp與win7雙系統,重裝xp而不影響win7的方法處於過渡時期,裝雙系統通常是很必要的,我選擇了經典的XP和win7rtm做成雙系統,分別位於兩個盤中。昨天準備在xp中裝vc60,結果發現那個xp有問題。看來必須重裝了,但是大家都知道對於windows系統裝多系統的順序是從低級到進階,否則會造成無法正常引導。但是我又捨不得重裝Win7。在網上看了很多文章,但方法大多是備份什麼的,很麻煩。最後幸運的找到了一個小工具,可以很簡單的解決這個問題。工具名字叫BCDautofix。從此你就可以大膽的重裝

Windows平台編譯OpenSSL詳解

下面這篇文章是轉載自中國openssl專業論壇的DragonKing的文章。在文章之前我先說下在VC下使用openssl的一些問題。首先是提示找不到命令,這時應該在project-->setting-->link中加入你編譯openssl產生的兩個lib檔案(最好將產生的lib與dll都加入VC的lib檔案夾中)。 假如運行時出現無法定位檔案序數問題,應該找到system32下和你得到的兩個dll同名的dll,用新的覆蓋,就可以了。     前幾天,為了給大家提供新版本的openss

不花一分錢享受正版Windows XP SP2

答:世界上沒有免費的午餐。微軟公司已經公開說明:Xp出現藍屏等嚴重系統問題都是由於盜版所致,而且不管什麼是什麼大企業整合版,都是不能自動升級的。(難道我電腦藍屏是D版的原因? )在本教程開始前,先回答大家的幾個問題:  1、問:Windows Xp專業版與Windows XP家庭版有什麼區別?  答:無論是在網路功能上(如可以安裝iis)還是系統穩定性上,後者都比前者更勝一籌!  2、問:為什麼要使用正版的Windows Xp專業版?  答:很簡單,享受Windows

[zz]用Windows預設瀏覽器開啟網頁

Windows預設瀏覽器的索引值在註冊表中的存放目錄是‘HKEY_CLASSES_ROOT/htmlfile/shell/open/command’。  實現代碼如下:void CXHDeskDlg::OnBtnWeb() {    HKEY hkRoot,hSubKey; //定義註冊表根關鍵字及子關鍵字    char ValueName[256];    unsigned char DataValue[256];    unsigned long cbValueName=256;   

WINDOWS的拖拽實現

拖放相關的介面包括 1.註冊支援拖放目標的視窗RegisterDragDrop( HWND, IDragTarget* );將需要支援拖放的目標視窗註冊為可接收資料,並傳入實現的IDragTarget介面。  2.當需要啟動拖放時調用DoDragDrop(   IDataObject * pDataObject,  //Pointer to the data object  IDropSource * pDropSource,  //Pointer to the source  DWORD

Windows調試工具入門-2 設定

本篇介紹Windows調試工具的基本設定和基本操作方法。這裡我們會用一個測試程式一步一步說明如何使用WinDbg開始調試工作。首先用VC建立一個名為TestDebug1的控制台項目,並產生它。 一、符號、源碼和可執行映像路徑設定     使用WinDbg開始調試工作之前,最重要的就是配置好各種環境了。這使得調試器可以正確識別偵錯目標中的各種變數、函數等等,使得我們能夠進行符號化調試或者源碼調試,而不是只能在一堆彙編代碼中轉圈。 首先來看一下未設定環境之前的樣子。使用剛才說的TestDebug1項

使用WINDOWS的GDI開發遊戲(1)

 第一篇

Windows訊息文本顯示方法

不止一次聽到有朋友問到如何將Windows訊息用文本方式顯示出來。 因為調試時候,Windows的訊息都是用數字表示的,並不能直觀顯示其含義,如 WM_CREATE訊息,如果在調試時將顯示1,對於初學者是很不方便。 而像Windows的錯誤訊息則可以通過ErrLook工具察看。  錯誤訊息的轉化可以通過FormatMessage函數進行文本輸出,但Windows的諸如WM_CREATE訊息等是否也有相關API來轉化呢,我沒有去尋找,不過自己來寫也不是很困難,所以將所有訊息的文本列了個表,自己進行

給多視窗的程式加上多標籤

不知道為什麼以前的程式就沒有標籤頁呢,研究了好久,總算給自己喜歡的程式加上標籤頁了,show一下這個是photoshop 4.0, 很小,啟動快,處理簡單映像不錯哈 哈哈,這下可以給所有的多視窗程序都加上多標籤了我主要是給工作中用到的一些軟體加上了多標籤打算有空了在給OllyDbg也加上多標籤 ,不過似乎OllyDbg比photoshop複雜多了,各種視窗真多最近真忙,沒時間寫詳細的實現過程,等有空了寫下做的過程中用到的一些技術和遇到的問題時怎麼解決的吧

使用WINDOWS的GDI開發遊戲(2)

 第二篇 前面廢話那麼多,現在終於可以開始真正的製作了。在開始時我們需要先搭建一個遊戲啟動並執行架構程式,這個架構是大部分遊戲都差不多一樣的。前面說過我們並不打算用MFC的架構,而是直接用WIN32的API。那麼我們就開始來搭建這個架構吧。 相信大家都安裝了微軟的Visual

使用WINDOWS的GDI開發遊戲(4)

 第四篇前面做的架構看起來是有那麼點意思了。但遊戲沒有遊戲過程算哪門子事呢。所以這篇我們將開始進入真正的遊戲邏輯編寫了。我們只要在上次編寫的代碼裡加入主邏輯處理就可以了。下面我們來分析下坦克遊戲的邏輯。首先坦克當然是要在沙場馳騁啦,所以我們接下來就構建這個沙場。我們已經有了地圖編輯器編輯的地圖檔案,所以只要根據那個地形檔案把地圖顯示出來就可以了,相對來說應該比地圖編輯器還簡單。不過針對不同地形我們需要做些針對性處理。我們通過觀察,可發現這個戰場可分為如下幾層,從下往上是最底層的地面,然後是障礙物

使用WINDOWS的GDI開發遊戲(5)

 第五篇 前面的架構已經構建出了一個雛形了,只是沒有加入遊戲控制邏輯而已,所以不能說是有意義的遊戲,但相信同學們已經有所收穫了。這篇我們就來給遊戲加上靈魂,賦予遊戲生命,形形色色的遊戲都是依靠這部分的精彩編寫,這裡面涉及的知識也是最多的,什麼AI、粒子系統、碰撞檢測、物理系統、行走系統等等。不同的遊戲也主要體現在這部分的不同。當然我們這個遊戲不需要應用這些了,我們只需要作簡單的碰撞檢測和行走動畫就可以了。這裡面只是應用了簡單的碰撞檢測。 前面的版本我們已經構建起了畫面,並做了簡單的碰撞檢測,例如

在windows Console 平台下面 用glut編寫 opengl程式 注意

#include “gl/glut.h” 只能夠包含一次這個檔案中已經包含//#include <gl/gl.h>   //#include <gl/glu.h>  //#include <gl/glaux.h> 出現的連結錯誤可能是opengl的lib檔案陳舊 換一個或是直接放到工程目錄下面Linking...nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol

Windows下編寫的指令碼無法運行?

•解決:– 進行格式轉化dos2unix /unix2dos (推薦使用)•Dos->unix: dos2unix filename•Unix->dos: unix2dos filename– 手工去掉^M•Dos->unix: sed -e 's//r//g‘•Unix->dos: sed -e ‘s/$//r/g’

如何在windows平台開發OpenGL程式使用OpenGL1.2或更高版本

    微軟為了維護Direct3D,對OpenGL的支援很消極,其OpenGL實現仍然是1.1。由於Windows上的OpenGL程式最終都會動態連結到微軟的OpenGL32.dll,可OpenGL32.dll只支援OpenGL 1.1,使我們不能直接使用1.2或者更高版本的OpenGL,仍然要用擴充訪問OpenGL1.1以來新增的功能。  一: gl 的擴充:  推薦使用下面2個擴充庫:     1.   使用glew       

windows下GSL的配置

一、GSL介紹GNU科學計算函數庫GSL(GNU Scientific Library)是一個強大的C/C++數值計算函數庫,它是一個自由軟體,是GNU項目軟體的一個部分,遵循GPL協議。GSL是一個為C和C++程式員提供的科學數值運算庫。該科學計算庫異常強大,函數庫提供了大量的數值計算程式 ,如隨機函數、特殊函數和擬合函數等等,整個函數庫大約有1000多個函數,幾乎涵蓋了科學計算的各個方面。提供了如下方面的支援:Complex Numbers          Roots of

)如何在Windows下使用OpenGL 2.0的API(包括GLSL)

    opengl版本太低http://forum.ubuntu.com.cn/viewtopic.php?f=42&t=163346&view=previous上面的文章是Ubuntu論壇的一個貼子,講述了opengl、mesa、和顯卡驅動的關係,不過我還是沒有看明白(暈啊)【摘錄】OpenGL是一套國際標準,所謂國際標準,就是寫在紙面上的東西,而不是實際可用的東西。不過各大廠商會遵照這堆紙編寫他們的驅動程式中的OpenGL功能。即OpenGL是標準,驅動+ICD+OpenG

開始學windows核心或驅動編程注意事項

       1       vmware 添加虛擬串口:    \\.pipe\com_1     This end is the server     The other end is an application   2 在虛擬機器XP系統的boot.ini中添加:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /fastdetect /debug

總頁數: 1469 1 .... 372 373 374 375 376 .... 1469 Go to: 前往
Tags Index:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。