原创 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是可搶