原创 strlen和sizeof的區別

(1)sizeof<1> sizeof(...)是運算符,在頭文件中typedef爲unsigned int,其值在編譯時即計算好了,參數可以是數組、指針、類型、對象、函數等。<2> 它的功能是:獲得保證能容納實現所建立的最大對象的字節大小

原创 Linux高性能服務編程(I/O複用)

I/O複用(本身是阻塞的)網絡程序需要使用I/O複用技術的情況:1.客戶端程序需要同時處理多個socket。2.客戶端需要同時處理用戶輸入和網絡連接3.TCP服務器要同時處理監聽socket和連接socket4.服務器要同時處理TCP請求和

原创 STL知識點總結

一、STL有哪些組件STL提供六大組件,彼此可以組合套用:1、容器容器就是各種數據結構,我就不多說,看看下面這張圖回憶一下就好了,從實現角度看,STL容器是一種class template。2、算法各種常見算法,如sort,search,c

原创 I/O複用的理解

I/O複用就是單個線程通過記錄跟蹤每一個Sock(I/O流)的狀態來同時管理多個I/O流. 假設你是一個機場的空管, 你需要管理到你機場的所有的航線, 包括進港,出港, 有些航班需要放到停機坪等待,有些航班需要去登機口接乘客。 你會怎麼做?

原创 函數指針和指針函數的區別

指針函數 : 指帶指針函數,即本質是一個函數,函數返回類型爲某種類型的指針類型標識符 函數名(參數列表)int f(x,y);首先它是一個函數,只不過這個函數的返回值是一個地址值。函數返回值必須用同類型的指針變量來接受,也就是說,指針函數一

原创 cadel fastcall stdcall

cdecl fastcall與stdcall,三者都是調用約定(Calling convention),它決定以下內容:1)函數參數的壓棧順序,2)由調用者還是被調用者把參數彈出棧,3)以及產生函數修飾名的方法。1、stdcall調用約定:

原创 TCP阻塞模型下服務器和客戶端的建立步驟

TCP阻塞模型下服務器和客戶端的建立步驟:服務器的建立步驟:1.調用socket建立TCP套接字2.調用bind將套接字跟本地地址綁定3.調用listen建立監聽4.建立accept接受來自客戶端的連接,返回新的連接套接字5.在新的套接字上

原创 python學習筆記(4)

函數定義和調用函數就是最基本的一種代碼抽象的方式(python有許多內置函數)調用:要調用一個函數,需要知道函數 的名稱和參數比較函數cmp(x,y)就需要兩個參數,如果x<y,就返回-1,如果x==y,就返回0,如果x>y就返回1數據類型

原创 Python學習筆記(2)

Unicode字符串: GB2312編碼爲表示中文產生 python內部編碼是unicode編碼Unicode通常用兩個字節表示一個字符,原有的英文編碼從單字節變成雙字節,只需要把高字節全部填0 就可以以Unicode表示的字

原创 引用&與const

引用:就是某一變量(目標)的一個別名,對引用的操作與變量直接操作完全一樣引用的聲明方法:類型標識符 &引用名=目標變量名 例如:int a; int &ra=a; //定義引用ra,它是變量a的引用 1.&在此不是求地址運算,而是起標識

原创 Python學習筆記(3)

重要的數據類型Dict和Setdict通過key 查找value(key和value關聯)花括號{ }表示這是一個dict,然後按照key:value,寫出來即可。最後一個key:value的都好可以省略 注意: 單元素的tuple必須在後

原创 linux下的壓縮與解壓縮

一、zip格式zip可能是目前使用得最多的文檔壓縮格式。它最大的優點就是在不同的操作系統平臺,比如Linux, Windows以及Mac OS,上使用。缺點就是支持的壓縮率不是很高,而tar.gz和tar.gz2在壓縮率方面做得非常好。我們

原创 數組指針和指針數組的區別

數組指針:a pointer to an array ,指向數組的指針指針數組:array of pointer ,用於存儲指針的數組,即數組元素都是指針int (p)[6] 數組指針 :表示指向數組a的指針 元素表示:(a)[i

原创 面向對象的三個基本特徵

1. 封裝:將客觀事物抽象成類,每個類對自身的數據和方法實行protection(private, protected,public)2. 繼承:廣義的繼承有三種實現形式:實現繼承(指使用基類的屬性和方法而無需額外編碼的能力)、可視繼承(子

原创 python學習筆記(1)

Python:荷蘭人龜叔於1989奶奶聖誕節創立(膠水語言)特點:優雅,明確,簡單語言之間的對比:類型 運行速度 代碼量C 編譯爲機器碼 非常快 非常多