原创 Linux內存管理之高端內存映射(轉貼)
------------------------------------------ 本文系本站原創,歡迎轉載! 轉載請註明出處:http://ericxiao.cublog.cn/ ------------------------
原创 c語言常見錯誤
#include <stdio.h> #include <stdlib.h> int main(void) { unsigned long l1 = 0xffffffff; int *j, *k, i = 2
原创 C unsigned int and int
首先進行一個實驗,分別定義一個signed int型數據和unsigned int型數據,然後進行大小比較: unsigned int a=20; signed int b=-130; a>b?還是b>a?實
原创 const
看到const 關鍵字,C++程序員首先想到的可能是const 常量。這可不是良好的條件反射。如果只知道用const 定義常量,那麼相當於把火藥僅用於製作鞭炮。const 更大的魅力是它可以修飾函數的參數、返回值,甚至函數的定義體。
原创 函數調用堆棧分析
理解調用棧最重要的兩點是:棧的結構,EBP寄存器的作用。 首先要認識到這樣兩個事實: 1、一個函數調用動作可分解爲:零到多個PUSH指令(用於參數入棧),一個CALL指令。CALL指令內部其實還暗含了一個將返回地址
原创 位域
位域 位域 : 有些信息在存儲時,並不需要佔用一個完整的字節, 而只需佔幾個或一個二進制位。例如在存放一個開關量時,只有0和1 兩種狀態, 用一位二進位即可。爲了節省存儲空間,並使處理簡便,C語言又提供了一種數據結構,稱
原创 extern "C"
經常在cpp的代碼之中看到這樣的代碼: #ifdef __cplusplus extern "C" { #endif //一段代碼 #ifdef __cplusplus } #endif 這樣的代碼到底是什麼意思呢?首
原创 memcpy和memmove函數的比較與實現
區別: 從DESCRIPTION看來,兩者的功能基本相同,唯一不同的是,當 dest 和 src 有重疊的時候選用不同的函數可能會造成不同的結果。不妨寫個小程序來測一下: 0 #i nclude <string.h> 1 #i n