原创 《軟件調試》讀書筆記一
一、分頁機制 關鍵詞:CR0、CR2、CR3、CR4、頁目錄、頁目錄表項、頁表、頁表項、內存頁(物理內存被分成若干個特定大小的頁,也叫物理頁) CR0:該寄存器中的PG標誌用於是否啓用分頁分頁機制 CR2:該寄存器中保存的是一個線性地址
原创 淺談排序算法(二)之選擇排序
選擇排序是比較好理解的,交換操作在0和(n-1)之間,比較次數O(n^2); 其中交換次數最好情況是已排序,交換0次,最壞情況是逆序,交換n-1次,而冒泡排序最壞要交換n*(n-1)/2次。 選擇排序主要有兩個循環,外循環控制未排序的項,
原创 淺談排序算法(一)之冒泡排序
首先介紹的是,相對來說比較簡單的冒泡排序。 冒泡排序,其基本思想是(如果我們是要從小到大排序):用兩個循環(暫且稱爲內循環和外循環吧),內循環中:從第1位開始依次比較相鄰的兩個數的大小, 如果前一位比後一位大,則交換兩個他們的值,一直比較
原创 《軟件調試》讀書筆記二
二、函數返回值 1.如果返回值是EAX寄存器能夠容納的整數、字符和指針(4字節或小於4字節),那麼返回值存在EAX中 源代碼: /** @brief: 測試函數返回值爲int型的情況下,存儲返回值的方法 @environment: V
原创 cocos2d-x的CCLayer觸摸事件
cocos2d-x版本:2.1.3 編譯環境:vs2010(xp) 假如HelloWorldLayer繼承了CCLayer類,我要在HelloWorldLayer圖層裏寫多點觸摸事件。 1.首先要重寫下列三個函數 virtual voi
原创 淺談排序算法(三)之堆排序
堆排序主要思想: 1.初始化數串成大頂堆(或小頂堆) 1.1 先初始化一個非葉節點的小子樹爲大頂堆(或小頂堆) 1.2 再初始化數串中的每個子樹成大頂堆(或小頂堆) 2.由步驟1中得到的堆頂即是當前未排序數串的最大值。由此繼續循環
原创 cocox2d-x HelloWorld分析
cocos2d版本:cocos2d-2.1rc0-x-2.1.3 編譯環境:vs2010(XP系統)1.首先看到main.cpp中AppDelegate app; 這是一個變量的定義,而且它的類型是一個類,不是基本類型,所以它會調用該類的
原创 c語言中的各種變量是如何存儲的(-)
衆所周知,c語言中有全局變量,局部變量,常量數據。。。 其中,全局變量又有初始化和不初始化
原创 由a+=a-=a*=a想到的
#include <iostream> using namespace std; int main() {int a = 12;a += a -= a *= a;cout<<a;return 0; } 結果a爲:0; ; ;編譯環境:v
原创 函數結束後,裏面的局部變量還可以用嗎
int *fun1() { int a = 1; return &a; } int main() { int *p =fun1(); cout<<"*p="<<*p<<endl; *p = 100; cout<<"*p="<<*
原创 cocos2d-x 精靈觸摸事件
Cocos2d-x版本:cocos2d-2.1rc0-x-2.1.3 編譯環境:vs2010(XP) #ifndef __TOUCHABLESPRITE_h__ #define __TOUCHABLESPRITE_h__ #inclu
原创 大小端字節序的判斷
/********* * 環境:vc++6.0 **********************/ 用union實現大小端字節序: /******************** * union大小字節端 ******************
原创 狀態機處理文本
/* **刪除C/C++源代碼中的註釋 */ #include <stdio.h> int main( int argc, char *argv[] ) { //定義各種狀態 enum{NONE,PRE_LINE,LINE,ALL,P
原创 由'\\n'所想到的
編譯環境:vs2008(XP) #include <iostream> using namespace std; int main() { cout<<'\\n'<<endl; return 0; }代碼如上,結果是2366
原创 UNIX環境高級編程中的apue.h和apueerror.h
相信很多一開始看《unix環境高級編程》的新手們按照書上的代碼的話,會遇到編譯時找不到err_sys等這類問題(因爲只包含了apue.h)解決辦法如