我的3D Engine ( ALGA )目前進展情況

      目前我的3D引擎大致已經把檔案處理相關的功能完成, 上面一個是記錄檔管理. 暫時寫成HTML的吧,想換再加.下面是兩張我的打包工具的.寫完了打包功能,就順便把工具一起給寫了.採用了壓縮及相關的結構儲存處理.以後資源這些封裝會好一點了.加油! 此工具可以大量匯出匯入.Engine 在相應的某些關鍵位置使用了彙編支援. 下一步打算把XML解析寫了,檔案處理就暫時實現這麼多. 希望能夠比以前的東西更成熟. 同時感謝公司讓我學了很多東西..... 

InterLockedIncrement 和 InterLockedDecrement處理線程訪問

   前面已經講過volatile關鍵字,當我們在處理多線程或者類比一個類似COM的引用計數時,我們為了防止多個線程同時訪問一個變數,導致不可預料的結果時。我們便可以方便的使用InterLockedIncrement  和 InterLockedDecrement 來對這個變數進行鎖定訪問: long volatile lReference;InterlockedIncrement( &lReference );  // 對這個引用計數進行鎖定並ADD

手工實現位元組對齊 及 代碼品質思考

在遊戲編程中,我們經常聽到序列化這個詞彙。在一些網路通訊和資料處理時,我們便會用到序列化。這裡先不具體說明序列化。這裡只說序列化過程中可能用到的位元組對齊的問題: 我們首先是定義了這樣一個宏: #define ALIGN( __size, __bits )  ( ( ( ( __size - 1 ) >> __bits ) + 1 ) << __bits ) 我們在使用的時候: DWORD dwSize = ALIGN( dataSize, 2

儘早發現堆破壞

Chromium程式在運行起始位置有代碼base::EnableTerminationOnHeapCorruption();void EnableTerminationOnHeapCorruption() {  // Ignore the result code. Supported on XP SP3 and Vista.  HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL,

【GOF設計模式之路】– 開篇

時間過得真快,距離連載完【C/C++語言入門篇】已經6個月之久了。感謝長期以來支援我的朋友們,同時也感謝路過批評與建議的朋友們,如果沒有你們,我想我將沒有收穫,也將沒有信心堅持在這裡。 近兩個月一直忙著各種事情,加之要將本質工作做好,寫博的時間基本都抽不出來了。有的時候想寫,但又似乎提不起精神,比起兩年前大二時期的精力,簡直就沒得比。雖然不知道這個系列是否能夠有足夠的時間寫完,但是我想先將系列的開篇下撂在這兒,也算是給自己壓力,不管怎麼都不能丟下記錄的習慣。 回到正題,這個系列寫設計模式的原因有

Inline Hook 之(監視任意函數)

前面已經寫過兩次inline hook的博文了,第一篇為:《C/C++ HOOK API(原理深入剖析之-LoadLibraryA)》,這篇博文的方法是通過修改任意函數的前面N個位元組,實現跳轉並進入到我們自訂的hook函數裡,執行完畢我們的hook函數之後,再直接調用被hook的函數。第一篇的方法沒有考慮多線程的情況,所以在多線程環境下會有問題。第二篇為:《 Inline HOOK API

Chromium原始碼及編譯環境的配置

1、強烈建議仔細閱讀官方文檔,chromium項目一直在快速發展,編譯配置也可能更新。本文檔不與官方文檔同步更新,因此僅供參考。2、必須要4G記憶體,我最開始使用2G記憶體有個工程串連失敗,導致後面部分工程失敗。編譯中8G記憶體都會消耗完,所以建議配置8G及以上記憶體。3、官方強烈建議使用64位系統。最好是Win7 64位系統,如果使用XP 32位系統,尤其是Ghost版的XP 32位系統,後面處理原始碼時會遇到一些問題。4、安裝VS2008,必須安裝X64編譯工具。5、如果安裝的是VS2008

活著,意義,偶像

很多時候,我都會想,人活著到底是為了什嗎?為了名利?為了生活?為了追求?為了責任?或者就為了簡簡單單的活著? 這個問題可能會將很多人給問住了,可能在你活了十多年,甚至活了幾十年都不知道這一輩子到底是為了什麼而活著。有時候覺得多讀一些書是好事,有時候又覺得少讀一些書未必是件壞事,有很多人學識見識都比較低,他們想得比較簡單,人活著就是為了活著,不為別的,能吃飽飯,能在某個時候吃上一頓美餐也覺得打心底裡滿足。 我相信很多人都有一種感觸,那就是小時候很快樂,小時候活得很簡單,不用考慮太多人生的意義,作為

HTTP狀態代碼及含義大全

HTTP狀態代碼及含義大全當使用者在防問Internet資訊服務(IIS)的伺服器上的內容時時,IIS伺服器響應請求,會自動返回一個表示該請求的狀態的數字代碼,提供關於相關請求的狀態資訊。同樣當搜尋引擎蜘蛛在抓取的過程中,伺服器也會相關的http狀態代碼,通過瞭解http狀態碼,可以更詳細的分析日誌中的訪問情況,下面Seoer惜緣收集的http狀態碼含義表與部分解決方案:  100 - 表示已收到請求的一部分,正在繼續發送餘下部分。  101 - 切換協議。  2xx -

new操作符內部原理(一)

寫了這樣一段代碼,我們來做分析:#include <iostream>int main( void ){    int* ptr = new int[ 5 ];    for ( int i = 0; i < 5; i++ )    {        ptr[ i ] = i + 1;        std::cout << ptr[ i ] << std::endl;    }} 我們new了5個資料的int類型空間,我們然後來看記憶體裡面的分布:  

類比QtEmbedded-4.5.2 在X86主機上

作者:孫曉明,華清遠見嵌入式學院講師。【實驗環境】 1、主  機:Fedora9 DVD 發行版         2、目標機:虛擬機器        3、源碼包:        ftp://ftp.qtsoftware.com/qt/source/qt-x11-opensource-src-4.5.2.tar.gz        ftp://ftp.qtsoftware.com/qt/source/qt-embedded-linux-opensource-src-4.5.2.tar.gz    

new操作符內部原理(二) 及 delete和free

前面我們說了new在分配空間的一些細節,這裡作一些補充。其實我們在調用new時,在他的地層重載運算子裡面是這樣實現的:void *p; while ((p = malloc(size)) == 0)  if (_callnewh(size) == 0)   _STD _Nomemory(); return (p); 可以看出它是直接調用了我們C語言中常用的malloc函數來實現。由此我們可以知道malloc也同樣會分配一個塊頭。32Byte + dataSize + 4( 0xfdfdfdfd

今早還算早

       當兄弟們還在打呼嚕的時候我已經在洗溯了。哎。。上班好象就少了幾分自由。。       每周還是想回學校,感覺自己還不習慣不當學生。昨天回去填了個申請,回去是一種心情。第二天就是另外一種心情。6點多鐘就來到了校門口等車,風好大。。好不容易等到車了,還得坐一個多小時還得轉車一次。累啊!堵車就更慘了。。來到公司就8點了。還算早,還有一個小時閑暇時間。       呼呼。。

去年國慶寫的個撞球

             這個撞球DEMO,用的D3D+C++寫成的,大概集中寫了一周多一點時間。也算是那個時候對D3D的一定認識的結果吧。還有很多不足。      1。裡面的素材全部是從網上搜集。      2。AI只實現了一個難度,本來打算再寫下去的,哎。。。貌似有心而力不足。沒那麼多時間去完善了。            就這麼個東西,老婆居然能打上癮,可能也是我想進一步完善的原因之一吧。      3。裡面的碰撞檢測都是通過距離檢測實現。先放這吧。。

bash設定檔

作者:馮利美,華清遠見嵌入式學院講師。本文主要對linux系統bash設定檔進行比較分析。1. 首先是兩個全域的設定檔。/etc/profile:此檔案為系統的每個使用者佈建環境資訊,當使用者第一次登入時,該檔案被執行。並從/etc/profile.d目錄的設定檔中搜集shell的設定。/etc/bash.bashrc:為每一個運行bash shell的使用者執行此檔案,當bash shell被開啟時,該檔案被讀取。2.

如何給vmware增加新硬碟

作者:孫曉明,華清遠見嵌入式學院講師。 有時候,用vmware裝linux系統的時候沒有分配足夠的空間,後來用的時候才發現空間不夠,但重新安裝系統又太麻煩,所以只有想辦法來再增加一塊硬碟了。但如何增加呢,那下面就詳細說一下添加過程吧:        1、 退出LINUX系統,在vmware啟動介面中選擇VM菜單下的Settings來增加磁碟,然後選擇add,選擇增加hard disk點擊Next,                        2、 選中create a new virtual

處理序間通訊之訊號

作者:孫曉明,華清遠見嵌入式學院講師。UNIX上處理序間通訊的方式有多種,早期的有無名管道、有名管道和訊號,後來又引入了IPC對象和通訊端。訊號是在軟體層次上對中斷機制的一種類比,是一種非同步通訊方式。訊號可以直接進行使用者空間進程和核心進程之間的互動,核心進程也可以利用它來通知使用者空間進程發生了哪些系統事件。使用者進程對接收到的訊號有三種處理方式:預設處理:Linux對每種訊號都定義了預設的操作        忽略訊號:對接收到的訊號不做任何處理        捕捉訊號:預先定義訊號處理函數

【動態分配棧記憶體】之alloca內幕

        哎,下班回家就開始大掃除,一直到淩晨才搞定,真的累了。但是計劃的是今天必須將本文寫完,不寫完睡不著覺。那就儘快切入正題吧!       

【GOF設計模式之路】– Observer

差不多已經有3個月沒有更新部落格了,不知道都忙什麼去了。我一直以來有一個不知道什麼時候開始有的準則,要寫博文就得寫好,在每次的寫作中應該總結上次的一些寫法,彌補一些不足,同時要看到進步。所以在這3個月期間做了很多次打算要寫本篇的,可總是被一些事和當時的心情所影響,為了追求品質,因此跳票到現在了,在此跟大家說聲對不起。之前的一個月一篇的承諾沒有實現,以後改正。 好了,回到正題,在瞎扯淡就又該說對不起了^_^。本篇打算介紹GOF中行為型模式之觀察者模式(Observer),Observer模式應該算

對txt檔案進行加密的小程式

#include<stdio.h>#include<stdlib.h>void main(){    char c1;    int delt;    FILE *fp;    fp=fopen("wo.txt","r");//這個檔案名稱可不能搞錯了    do    {            fscanf(fp,"%c",&c1);        if(c1>=32&&c1<=126)        {          

總頁數: 61357 1 .... 14877 14878 14879 14880 14881 .... 61357 Go to: 前往

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.