原创 冒泡+直接插入+ 快速排序

一,冒泡法 (按從小到大排序舉例) 原理:通俗的講,就是一遍一遍地,不斷地把較大的數往下沉。 途徑:交換兩個數的位置。 舉例: 7 2 5 8 3 第一遍,把a[0] 與 a[1]比較,7 > 2,  so, sw

原创 socket、 send、recv、阻塞相關

一、recv和recvfrom的區別 原文鏈接: http://blog.csdn.net/jiangzhuzhu/article/details/5686517 2015.3.02   2015.8.18 2010-06-22

原创 字符串反轉+ 大數相加 + IP分類

C語言基礎隨着工作,慢慢遺忘的一乾二淨,簡單實現,不考慮效率,留作備忘。 一、反轉 char *str_reserve11(char *src) { char tmp; char *start = src; char *end

原创 編譯器優化選項帶來的影響邏輯的問題

最近遇到了編譯優化選項竟然會影響到代碼邏輯的事,然後上網看到一篇還不錯的文章,以防備用,粘貼如下: 原文鏈接地址:點擊打開鏈接 正文一 我們知道在C語言編譯時,有那麼幾個常用的優化編譯選項,分別是-O0,-O1,-O2,-O3以及-Os

原创 關於Linux c 語言中遞歸函數的使用的較深層問題

原則上講,爲了代碼的結構及易於維護性,通常被告知儘量少在代碼中使用goto、遞歸等影響代碼結構的代碼。 可是,有時候用遞歸函數的思想確實可以使問題的思路非常清晰。  由於工作中要解決vlan用戶態解析portlist的bug,原來解析

原创 雜亂工作筆記的整理(一)

本無閒暇,奈何正在調試的gmrp命令行部分架構已經基本完成,各種必要的read事件及update事件也都加入到相應的thread add裏邊了,,可是從pc段構造gmrp報文,在dev.c之前的bcm-net裏用debug driver

原创 C語言頭文件包含和編寫的幾個基本規則

總想着把所有的頭文件都塞到一個頭文件裏邊,然後,所有.c文件只包含這一個混雜的頭文件就行了,也不用注意太多,, 但是這樣好像不行,摘抄一篇文章備份一下,覺得寫的不錯, 尊重原創,原文鏈接:http://blog.csdn.net/is

原创 也談孤兒進程與殭屍進程

之前調bug時會看到進程的狀態是‘Z’,由此知道殭屍進程,將查的資料略作總結,以備後用。 先上定義: 孤兒進程:一個父進程退出,而它的一個或多個子進程還在運行,那麼那些子進程將成爲孤兒進程。 孤兒進程將被init進程(

原创 是oom-killer還是接收了SIGHUP信號 導致進程掛死

最近在定位用戶態的一個進程kerneld進程意外掛死的情況,但無法進行復現,只從代碼的角度分析掛死原因, 感覺應該是意外接收了某個信號,處理信號時exit了,,要麼就是normal內存塊中剩餘內存大於low小於Middle, 造成

原创 鏈表(找中間+判循環+逆序+)

一、快速找到鏈表的中間節點        1、常規方法:遍歷所有節點L,找到中間 L/2,遍歷L/2, 搞定。           2、較快速 :   fast和slow都指向頭,fast每次跳2個node,slow跳1個,當fast跳

原创 extern 較深入的用法-全局-靜態

額外,說明 0,定義  相當於    聲明+分配內存;      聲明   就是       聲明;      只要在文件裏 聲明 了 某個變量,, 就可以確保 ‘編譯’ 能通過,若其他文件裏有      定義,則也可以確保   ‘鏈接

原创 端口鏡像 相關注意事項備忘

bcm56224交換芯片: 端口鏡像在具體實現上,可直接調用broadcom的sdk,用戶態命令行可參照其他廠商: 1、可以實現跨vlan的端口鏡像; 2、不能鏡像 從cpu發出的報文; 3、可以實現  n====>1;多==>多(多個一

原创 關於用strace工具定位vrrpd進程有時會掛死的bug

只做工作總結備忘之用。 正在燒鏡像,稍總結一下進來改bug遇到的問題。 一個項目裏要用到L3 switch的nat,vrrp功能,但實地測試中偶然出現write file掛死的情況,但不是必現。交付在即,於是加調試信息,反覆跑

原创 vrrp 協議相關備忘

結合網盤文檔,已經基本全面介紹了vrrp相關的東西; 尊重原創,以下是本文檔原文鏈接: http://my.oschina.net/moooofly/blog/155491?p=1 我司(很有錢)vrrp的某些實現細節: 1、ma

原创 linux route 使用 淺析

2015-06-09  昔日自由 注意: 使用route命令 主要操作 linux內核 路由表,從而操縱路由邏輯以下操作均在三層交換機上(linux內核)嚴格的講,該linux shell下的 route命令肯定對應交換機配置視圖下的某