原创 CSAPP 第十一章:網絡編程小結

網絡應用隨處可見:有趣的是,所有的網絡應用都是基於相同的基本模型,有着相似的整體邏輯結構,並且依賴相同的編程接口。 11-1:客戶端-服務器模型: 每個網絡應用都是基於客戶端-服務器模型的。採用這個模型,一個應用是由一個服務器進程和一個

原创 C++實現singleton

#include <iostream> using namespace std; class Singelton { public: static Singelton* GetInstance() { if (instance_

原创 CSAPP第九章:虛擬存儲器

爲什麼需要虛擬存儲器:進程需要的地址空間比較大;那麼當一個程序沒有空間的時候,進程就沒有辦法運行。 虛擬存儲器是對主存的一種抽象;(VM)。虛擬存儲器是硬件異常、硬件地址翻譯、主存、磁盤文件和內核軟件的完美交互;他爲每個進程提供一個大的

原创 這個人的博客總結了基本的數據結構,不過我應該自己總結一下,權當參考

http://blog.csdn.net/shuilan0066/article/category/1054621

原创 dll的基本知識和調用方式以及dllmain

這個介紹得很詳細: http://wenku.baidu.com/view/f02ab07a168884868762d632.html 我先簡單歸納一下: dll分爲靜態鏈接和動態鏈接,兩種有不同的調用方式和特點: 特點:靜態鏈接生成的

原创 PHP指針越界問題

http://www.justwinit.cn/post/3495/

原创 CSAPP第7章小結--鏈接

鏈接作用是將各種數據和代碼的部分打包。鏈接可以運行在“編譯時”、“加載時”、“運行時”,分別對應的編譯機器代碼(傳統靜態鏈接);加載時共享庫動態鏈接(動態鏈接);運行時共享庫動態鏈接(動態鏈接)連接器的重要作用:分離編譯;就是模塊化。使得

原创 unsigned引起的bug

注意strlen和memcpy都存在這個問題 size_t Strlen(char*s) 寫的代碼,注意unsigned引起的bug。 #include <stdio.h> #include <string.h> int strlo

原创 CSAPP第五章:優化程序性

程序的目標:正確性和性能 如何編寫高效的程序:選擇合適的數據結構和算法。編譯器能夠有效優化。針對大量運算,並行計算。編譯器的侷限性:無法判斷指針(例如兩個指針如果指向同一個地方會出現很多莫名的bug,必須檢查指針)。程序性能的表示:C

原创 CSAPP 第八章:異常控制流 小結

異常控制流(ECF):爲什麼重要,主要是理解系統概念,應用程序和系統是如何交互的,理解併發,瞭解軟件異常如何工作。 事件:狀態變化:觸發異常。 異常類別: 類別 原因 異步/同步 返回行爲 中斷 來自I/O的信號 異步 返回到下一條指令

原创 給出0-255,的N個值,求如何找出它們的重複值

a~z包括大小寫與0~9組成的N個數 用最快的方式把其中重複的元素挑出來~~ void thesame(char *str) {         char dsc[256] = {0};        char *tmp;     

原创 CSAPP第三章:程序的機器級表示 小結

1.彙編代碼和機器代碼都是和特定機器相關的。 2.精通細節是理解更深和更基本概念的先決條件。 3.32爲機器內存爲2的32次方,4*1G  64位機器爲2的48次方,2的40次方位1T,2的8次方爲256.256T。 4.摩爾定律:芯

原创 單鏈表定義手寫板

struct LinkNode{ int data; linkNode* link; } class LinkList{ //init Linklist(); ~Linklist(); LinkList(const int&

原创 C++引用和C語言指針調用函數

Cplus(a,i); C(&a,&i); void Cplus(int &a,int &b) {if((a-b)>0){printf("123");} } void C(int *a,int *b) {if( (*a)-(*b)>0)

原创 MD5的相關知識

http://blog.csdn.net/russell_tao/article/details/7240661 詳見