原创 數據庫知識小節

1 常見概念──約束、主鍵、外鍵、視圖 約束是數據庫服務器強制用戶必須遵從的業務邏輯。它們限制用戶可能輸入指定列的值,從而強制引用完整性。在數據庫設計器中創建約束時,約束遵從用於創建和更改表的 ANSI 標準。主鍵:表中經常有一個列或列

原创 ldd3-內核內存分配

ldd3-內核內存分配先總結內存分配,明天我再來總結Mmap和DMA技術-------------------------------以下忽略了內存池

原创 3種類繼承方式

  對於公有繼承方式: ·基類成員對派生類的可見性對派生類來說,基類的公有成員和保護成員可見:基類的公有成員和保護成員作爲派生類的成員時,它們都保持

原创 函數指針

“函數指針”是指向函數的指針變量,因而“函數指針”本身首先應是指針變量,只不過該指針變量指向函數。這正如用指針變量可指向整型變量、字符型、數組一樣,這

原创 路由器 網關| 公網、內網 | ICMP的IP重定向報文

1 路由器工作在IP層,網關在IP層以上 網關是數據出子網的的門戶,是一個地址,網關不一定是路由器可以是計算機(但實際上用的也是路由器功能:))。路由器是分析你封裝的ip地址,指導數據向那邊走的。所以說路由器可以是網關  2 公網、內網是

原创 共享內存

共享內存(上)共享內存可以說是最有用的進程間通信方式,也是最快的IPC形式。兩個不同進程A、B共享內存的意思是,同一塊物理內存被映射到進程A、B各自的

原创 更深層次分析一道試題——指針內存分配

指針參數是如何傳遞內存的?如果函數的參數是一個指針,不要指望用該指針去申請動態內存。示例7-4-1 中,Test 函數的語句GetMemory(str

原创 請寫一個C函數,若處理器是Big_endian的,則返回0;若是Little_endian的,則返回1

  解答: int checkCPU(){ {  union w  {    int a;   char b;  } c;  c.a = 1;  return (c.b == 1); }}  嵌入式系統開發者應該對Little-end

原创 守護進程

守護進程工作原理和方式  在Client/Server模式下。服務器監聽(Listen)在一個特定的端口上等待客戶連接。連接成功後服務器和客戶端通過端

原创 引用的幾點問題

引用的幾點問題 1引用vs指針 引用創建時初始化;不能爲NULL;一旦初始化,就不能改變引用關係 引用是變量別名,在創建時不用分配內存空間   2引用作爲函數參數 (1)傳遞引用給函數與傳遞指針給函數作用相同 (2)在內存中沒有產生實參

原创 關於static 的各種數據類型 及在面向對象編程中的應用

一、 按存儲區域分,全局變量、靜態全局變量和靜態局部變量都存放在內存的靜態存儲區域,局部變量存放在內存的棧區。  1定義全局靜態變量的好處: <1>不會被其他文件所訪問,修改 <2>其他文件中可以使用相同名字的變量,不會發生衝突。   2

原创 C++多態如何實現 | sys_brk原理

1、C++多態如何實現 重載overload是相同範圍內,函數名相同,參數不同; 覆蓋override不同範圍內(派生類和基類),函數名相同,參數也

原创 Linux內存管理

摘要:本章首先以應用程序開發者的角度審視Linux的進程內存管理,在此基礎上逐步深入到內核中討論系統物理內存管理和內核內存地使用方法。力求從外自內、水到渠成地引導網友分析Linux地內存管理與使用。在本章最後我們給出一個內存映射地實例,幫

原创 brk和sbrk

brk和sbrk主要的工作是實現虛擬內存到內存的映射.在GNUC中,內存分配是這樣的:       每個進程可訪問的虛擬內存空間爲3G,但在程序編譯時,不可能也沒必要爲程序分配這麼大的空間,只分配並不大的數據段空間,程序中動態分配的空間

原创 易出錯的地方

一  二分查找算法:1、遞歸方法實現:int BSearch(elemtype a[],elemtype x,int low,int high)/*在下屆爲low,上界爲high的數組a中折半查找數據元素x*/{  int mid;  i