原创 uint64 和字符串相互轉換

uint64轉換成string snprintf函數 參考:http://www.cnblogs.com/armlinux/archive/2010/05/25/2397004.html int snprintf(char *rest

原创 多維數組和指針操作

一維數組名即是一個指針常量,它代表數組第一個元素的地址,我們知道一維數組的長度,那麼可以通過數組名輸出一維數組的所有元素: #include <stdio.h> int main(void) { int i; int a

原创 讀《C專家編程》筆記—第二章 這不是Bug,而是語言特性

容易混淆的const 關鍵字const並不能把變量變成常量!在一個符號前加上const限定符只是表示這個符號不能被複制,也就是它的值對於這個符號來說是隻讀的,但它並不能防止通過程序的內部(甚至是外部)的方法來修改這個值。const最有用之

原创 assert(0)的作用

今天在看框架例子的代碼裏,發現很多地方沒有做什麼,就只是錯誤檢查,然後後面就會跟一個assert(0),比較奇怪這個用意,所以特意差了一下記錄在這裏。 定義 assert宏的原型定義在 #include <assert.h> void a

原创 字符指針和字符數組的初始化

char* str1 = "abcd"; char str2[] = "abcd"; char* str1 =”abcd” 含義是先新建一個字符串,內容是abcd 然後str1是一個頭指針,指向這個串. 但是這個新建串是作爲const存

原创 Ubuntu12.10編譯MPTCP

準備工作 1、操作系統:Ubuntu-12.10-desktop-i386(32位)或者Ubuntu-14.04-desktop-amd64 (64位) 2、Mptcp源碼:從官網下載 http://multipath-tcp.org

原创 Linux中 too many open files 的問題解決

Linux中所有操作都被看作是文件的操作,所以有時會出現too many open files 的問題。系統中默認的最大打開文件數爲1024個。 1、相關命令解決 ulimit –a //查看當前設置 ulimit –n 2048 //

原创 結構體成員偏移量

今天在研究計算C語言中,結構體成員的偏移量問題。發現一個宏定義就可以計算得到,在這裏記錄一下。 #define offsetof(type, field) (long)&(((type*)0)->field) 其含義是:在不生成結構體

原创 內核模塊加載

近來搭建實驗環境,需要換一下系統的擁塞控制算法。一般的linux系統默認的tcp擁塞控制算法是cubic和reno,但是我現在需要使用veno、vegas。記錄下查找的資料和最後實現方法。 1、查看內核支持的tcp擁塞控制算法 在文件/p

原创 字符串操作函數的一些細節問題

最近在寫一個數據庫的部分數據顯示工具,然後把結果以表格形式輸出時需要很多的字符串操作函數和多維數組及指針的操作,對其理解更多,現在總結一下。 1、strcpy 、strncpy 和 strlcpy 函數 strcpy 原型:extern

原创 Socket收發數據淺析

作爲一個套接字描述符,它擁有兩個緩衝區,分別爲接收數據緩衝和發送數據緩衝區,當套接字有數據到達時,首先進入的就是接收數據緩衝區,然後應用程序從這個緩衝區中將數據讀出來,這就是套接字recv的過程,應用程序調用send發送數據實際是把數據拷

原创 用VS2010打開VS2012項目解決方案

最近做的東西需要重新編譯一下別人寫的代碼,但是他當時用的是VS2012,我這裏是VS2010,所以在過程中遇到點小問題,記錄一下。 BHO_PART BHO部分是要編譯生成一個動態鏈接庫作爲瀏覽器的插件,首先出現的問題是打開項目編譯的

原创 &&和||優先級

在C語言程序中經常會遇到判斷條件是否滿足的情況,在解決這種情況時憑感覺往往不是很準確,通過程序實測可以很好的解決問題。比如在遇到一連串&&和||的時候,優先級的問題必須考慮清楚才能得到準確的答案。 使用一下程序進行實測或和與的優先級 #i

原创 linux 下svn 命令詳解

最近要用到linux下的svn,簡單學習了一下,這裏做個總結。 1、Linux命令行將文件checkout到本地目錄 svn checkout url(url是服務器上的目錄) 例如:svn checkout svn://192.168