原创 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