原创 C語言中常見的內存錯誤與解決方法

常見的錯誤       關於內存的一些知識已在內存分配中提及,現記錄與分享常見的內存錯誤與對策。 類型 1:內存未分配成功,卻使用了它。 方   法:在使用之前檢查指針是否爲NULL。              1)當指針p是函數的參數時

原创 內核SIP ALG學習指引和基本實現原理(分析BCM方案實現)

總結一下內核ALG的學習方法和基本原理,方便以後需要了解這方面的朋友少走彎路。該文檔分析基於broadcom5358方案。   一、如何查看板子是否使用內核ALG 1、建立一條含有INTERNET服務,並且開啓了NAT選項的WAN連接(

原创 Makefile易懂教程

跟我一起寫 Makefile 陳皓 (CSDN) 概述 —— 什麼是makefile?或許很多Winodws的程序員都不知道這個東西,因爲那些Windows的IDE都爲你做了這個工作,但我覺得要作一個好的和profess

原创 gdb常用命令

調用gdb編譯需要在cc後面加 -g參數再加-o; [root@redhat home]#gdb 調試文件:啓動gdb (gdb) l :(字母l)從第一行開始列出源碼 (gdb) break n :在第n行處設置斷點 (gd

原创 BCM VOIP 應用程序編譯分析

VOIP應用程序源碼分佈: [plain] view plaincopyprint? Vodsl(VOIP應用程序) -- userspace/private/apps/vodsl    |_bos(系統適配層)-- xChang

原创 內存分配及堆與棧的區別

1.內存分配方式 內存分配方式有三種:       1.從靜態存儲區域分配。內存在程序編譯的時候就已經分配好,這塊內存在程序的整個運行期間都存在。例如全局變量,static變量。       2.從堆棧上分配。函數內的局部變量的存儲單元,

原创 [Android面試題-5] HTTP,TCP/IP相關

題目1:請說出Http位於TCP/IP模型中的第幾層?爲什麼說Http是可靠的數據傳輸協議? 分析:首先我們來看一下TCP/IP模型的五層模型。 題目中所說的Http協議就是處於模型中的應用層。由於Http是在傳輸層基於TCP協議的,

原创 互聯網協議入門(二)

(接上文) 七、一個小結 先對前面的內容,做一個小結。 我們已經知道,網絡通信就是交換數據包。電腦A向電腦B發送一個數據包,後者收到了,回覆一個數據包,從而實現兩臺電腦之間的通信。數據包的結構,基本上是下面這樣: 發送這個

原创 C語言單向鏈表的建立

參考:http://www.itxyz.net/3jk/c/2010/0820/11016.html 最近不是太忙,整理些東西,工作也許用得到。 1,爲什麼要用到鏈表 數組作爲存放同類數據的集合,給我們在程序設計時帶來很多的方便,

原创 rpc簡介、原理、實例-緣於difx

簡介 RPC(Remote Procedure Call,遠程過程調用)是建立在Socket之上的,出於一種類比的願望,在一臺機器上運行的主程序,可以調用另一臺機器上準備好的子程序,就像LPC(本地過程調用).越底層,代碼越複雜、靈活

原创 C語言字符串操作--刪除子串

一,刪除字符串中所有子串 #include<string.h> #include<stdio.h> void main() {  char a[15]="Hi Hillo Hi ab";  char *p=a;  char *q;  ch

原创 C語言將十六進制字符串轉換成對應的十進制數字

#include<string.h> #include<stdio.h> #include<stdlib.h> /* 將大寫字母轉化成小寫字母 */ int tolower(int c) {     if

原创 C語言——產生一個隨機字符或者隨機數

#include<string.h> #include<stdio.h> #include<stdlib.h> #include <time.h> void genRandomString(char* b

原创 比較全面的gdb調試命令

用GDB調試程序 GDB是一個強大的命令行調試工具。大家知道命令行的強大就是在於,其可以形成執行序 列,形成腳本。UNIX下的軟件全是命令行的,這給程序開發提代供了極大的便利,命令行 軟件的優勢在於,它

原创 RFC3581——SIP中的rport機制

1.    介紹 RFC3581的下載地址:http://www.ietf.org/rfc/rfc3581.txt 該協議比較簡短,主要用於描述rport(response-port)機制。 1.1 NAT分類 NAT:網絡地址轉換(NA