原创 linux system()函數
system()函數功能強大,很多人用卻對它的原理知之甚少先看linux版system函數的源碼: #include <sys/types.h> #include <sys/wait.h> #include <errno.h> #incl
原创 UDP中使用connect
UDP協議中是否可以使用connect,.整理一下.1:UDP中可以使用connect系統調用2:UDP中connect操作與TCP中connect
原创 如何註釋代碼
1. Comment each level(每個級別的註釋有統一的風格)註釋每一個代碼塊,並且在各個級別的代碼塊上,要使用統一的註釋方法。例如:對於類,應包含簡單的描述、作者以及最近的更改日期 對於方法,應包含目的的描述、功能、參數以及返
原创 函數傳值 傳地址 傳引用的區別
傳值, 是把實參的值賦值給行參 那麼對行參的修改,不會影響實參的值 傳地址 是傳值的一種特殊方式,只是他傳遞的是地址,不是普通的如int 那麼傳地址以後,實參和行參都指向同一個對
原创 C指針進階-函數指針、函數名做形參
函數名與函數指針 一 通常的函數調用 一個通常的函數調用的例子: //自行包含頭文件 void MyFun(int x); //此處的
原创 淺談C++中內存分配、函數調用和返回值問題
在談述函數調用和返回值問題之前,先來看看C++中內存分配的問題。 C++編譯器將計算機內存分爲代碼區和數據區,很顯然,代碼區就是存放程序代碼,而數據
原创 C語言鏈表的建立、插入和刪除
- 鏈表的建立、插入和刪除 數組作爲存放同類數據的集合,給我們在程序設計時帶來很多的方便,增加了靈活性。但數組也同樣存在一些弊病。如數組的大小在定義時要事先規定,不能在程序中進行調整,這樣一來,在程序設計中針對不同問題有時需要3 0個大小
原创 TCP協議三次握手/四次分手過程分析
TCP(Transmission Control Protocol) 傳輸控制協議 TCP是主機對主機層的傳輸控制協議,提供可靠的連接服務,採用三次握手確認建立一個連接: 位碼即tcp標誌位,有6種標示:SYN(synchronous建立
原创 memcmp函數
原型:extern int memcmp(void *buf1, void *buf2, unsigned int count); 用法:#include <string.h> 功能:比較內存區域buf1和buf2的前count個字節
原创 無狀態地址自動配置
IPv6同時定義了無狀態和有狀態地址自動配置機制。有狀態地址自動配置使用DHCPv6來給主機動態分配IPv6地址,無狀態地址自動配置通過NDP來實現
原创 linux如何進入單用戶模式
linux進入單用戶模式的方法是有很多的。進入單用戶模式的前提是系統引導器能正常工作。下面以GRUB啓動爲例說明進入單用戶模式的方法。在GRUB啓動菜單裏有''a”, “e ”, “c” 三個操作按鍵,使用這三個按鍵均可以進入單用戶模
原创 uip協議棧分析(1)
Uip源代碼可以從http://www.sics.se/~adam/uip/index.php/Main_Page上下載得到。 Uip的源碼目錄結構: D:. ├─apps │ ├─dhcpc │ ├─hello-worl
原创 幾種開放源碼的TCPIP協議棧概述--LwIP,uIP,TinyTcp和uC/IP
1、BSD TCP/IP協議棧 BSD棧歷史上是其他商業棧的起點,大多數專業TCP/IP棧(VxWorks內嵌的TCP/IP 棧)是BSD棧派生的。這是因爲BSD棧在BSD許可協議下提供了這些專業棧的雛形,BSD許用證允許BS
原创 uip協議棧分析(2)
uip的內存管理方法: 內存管理的實現在memb.c/memb.h裏。 這兩個文件負責uip的內存塊的管理,內存塊是由MEMB()宏聲明。內存從聲明的內存塊裏用memb_alloc()分配,用memb_free()釋放。因
原创 uC/OS-II內核架構解析(3)---uC/OS-II系統核心
主要包含在C源文件OS_CORE.C中。 1. uC/OS-II任務調度 (1) uC/OS-II調度算法 uC/OS-II採用基於優先級的調度算法,總是選擇當前處於就緒狀態的優先級最高的任務進行調度。uC/OS-II是可搶