原创 TCP/IP和其他的協議視圖

7 應用層 例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP 6 表示層 例如XDR、ASN.1、SMB、AFP、NCP 5 會話層 例如ASAP、TLS、SSH、I

原创 linux_動態庫和靜態庫

靜態庫 $gcc -c *.c -o *.o             生成目標文件 $ar crs libmyhello.a *.o       生成庫 $gcc *.c -o x -lmyhello        鏈接庫,生成可執行文件

原创 c++_構造析構函數

1,構造函數,可以被重載 a> 函數與類名相同 b>沒有返回值 c>定義的時候被系統調用 淺拷貝和深拷貝:淺拷貝對象(兩個)指向一片堆區,深拷貝對象分別指向一個堆區 構造函數3種方式:默認構造,複製構造,賦值構造 2,析構函數,不能被重載

原创 c++_友元基礎知識

友元,打破類的隱藏和封裝,方便訪問與修改,提高效率 1,友元函數:直接在函數前加friend,並且沒有this->屬性(非類成員函數) 函數與存放位置無關,直接調用,類似於使用類空間,直接只用函數名調用。   2,友元類:類前加上frie

原创 c++_重載

意義:方便直接使用,不用考慮命名 1,函數名相同,參數個數和類型不同 2,關於默認參數,有以下幾點: a>引用類型傳參,不能是實際值,可以是全局變量 b>右側全默認原則:某一參數有默認值,其右側的參數全都要有默認值 c>從左傳參原則:給某

原创 c++_運算符重載

C++中重新定義這些運算符,賦予已有運算符新的功能,注意二異性 1,實質是函數重載 2,不能有默認參數,不會改變運算符的優先級和結合性 3,雙目運算符不能將 = () [] -> 重載爲類的友元函數。 其他: 對於成員函數來說,一個操作數

原创 c++_public protected private的權限

1,權限訪問 public:類內部,友元類友元函數可以訪問,類對象可以訪問 protected:類內部,友元類友元函數可以訪問,類對象不可以 private:類內部,友元類友元函數可以訪問,類對象不可以 2,派生之後的權限 private

原创 c++_繼承基礎知識

1,繼承:在一個已有的類上建立一個新的類, 類的繼承:新類從已有的類獲得已有的特性,新類爲派生類 2,class A : public B, public C ... { }; 關於訪問權限,參考另一篇博文, http://blog.cs

原创 mqx 驅動解析 以io flash讀寫爲例

  hi,大家好,今天爲大家解析一下,MQX系統中flash的操作。   我們在用戶層經過特有平臺(每個公司基於MQX的封裝)的封裝,我們都會調用到open,read,write的接口,但是這種接口怎麼經過內核把驅動連接起來,實現基本讀寫

原创 c++_多態基礎知識

1,多態:一個接口,多種方法,程序運行時才決定調用的函數。 2,多態性是接口與實現進行分離。 3,虛函數:virtual修飾的函數,虛函數的限制 (1,靜態成員函數不能定義虛函數 (2,構造函數不能定義虛函數,析構函數可以。 (3,聲明需

原创 c語言 指針和數組 - 編譯器

  關於數據和指針,我們認爲理解的和機器編譯的,會有一些錯覺,借用網上圖片,理解編譯後的結果很重要。  

原创 linux_文件io

1,文件:常規文件--,目錄-d,字符設備-c,塊設備-b,有名管道-p,套接字-s,符號鏈接-c 標準輸入-0,標準輸出-1,標準出錯-2, 2,linux '\n'換行 mac   '\r'回車 win   '\r\n'換行回車  

原创 c++_static和const

static和const對直接變量和函數修飾,與c類似,以下主要是在類中的使用 static 類成員變量:必須在類外部初始化,int Demo::num = 10;(對象A的static變量值,在對象B定義時傳給B,他與具體對象不相關聯)

原创 c++_模板基礎知識

模板: 1,函數模板 template <class(typename) T, ...(非類型參數,int var)> T add(T &a) { //函數體 } 非類型參數只能是,整型,指針,引用。以上T可以有對應的默認值 2,類模板

原创 linux_進程和線程

1,進程(交互,管理,守護) (1,資源管理的最小單位 (2,執行模式:用戶模式,內核模式 (3,幾種狀態:運行,停止,等待,殭屍,等 (4,進程調度命令:ps(ps -alx, ps -ef, ps -eLf), nice, kill,