原创 基於TCP協議的網絡程序(基礎學習)

下圖是基於TCP協議的客戶端/服務器程序的一般流程: 圖 37.2. TCP協議通訊流程 服務器調用socket()、bind()、listen()完成初始化後,調用accept()阻塞等待,處於監聽端口的狀態,客戶端調用so

原创 NFS文件系統製作與移植

1.NFS文件系統簡介: NFS是由Sun開發並發展起來的一項在不同機器、不同操作系統之間通過網絡共享文件的技術。在嵌入式Linux系統的開發調試階段,可以利用該技術在主機上建立基於NFS 的根文件系統,掛載到嵌入式設備,可

原创 C/C++三種函數傳參方式以及指針與引用小結

(1)傳值,就是把你的變量的值傳遞給函數的形式參數,實際就是用變量的值來新生成一個形式參數,因而在函數裏對形參的改變不會影響到函數外的變量的值。 (2)傳址,就是傳變量的地址賦給函數裏形式參數的指針,使指針指向真實的變量的地址,因爲對指針

原创 jffs2文件系統製作與移植(二)

1、下面我以fl2440開發板的256M的nandflash進行移植,內核中nandflash的分區表信息是這樣的 Creating 11 MTD partitions on "NAND": 0x000000000000-0x0000

原创 C語言函數 傳參以及指針與引用小結

C語言中函數參數傳遞的三種方式 (1)傳值,就是把你的變量的值傳遞給函數的形式參數,實際就是用變量的值來新生成一個形式參數,因而在函數裏對形參的改變不會影響到函數外的變量的值。 (2)傳址,就是傳變量的地址賦給函數裏形式參數的指針,使指針

原创 SELECT的學習以及在socket中的應用

Select在Socket編程中還是比較重要的,可是對於初學Socket的人來說都不太愛用Select寫程序,他們只是習慣寫諸如 connect、accept、recv或recvfrom這樣的阻塞程序(所謂阻塞方式block,顧名思義,就

原创 socket中的select

使用select函數可以以非阻塞的方式和多個socket通信。程序只是演示select函數的使用,功能非常簡單,即使某個連接關閉以後也不會修改當前連接數,連接數達到最大值後會終止程序。 1. 程序使用了一個數組fd_A,通信開始後把需

原创 基於UDP協議的網絡程序 (學習)

下圖是典型的UDP客戶端/服務器通訊過程(該圖出自[UNPv13e])。 圖 37.3. UDP通訊流程 以下是簡單的UDP服務器和客戶端程序。 /* server.c */ #include <stdio.h> #inclu

原创 結構體指針的初始化

過了幾天這位同事說他試了一下,結構體中的成員指針不經過初始化是可以用(左子樹和右子樹指針)那時在忙着整理文檔,沒在意今天抽空調了一下,結論是,還是需要初始化的。而且,不寫代碼你是不知道原因的(也許是對着電腦久了IQ和記性嚴重下跌吧)測試代

原创 linux消息隊列

下面來說說如何用不用消息隊列來進行進程間的通信,消息隊列與命名管道有很多相似之處。 一、什麼是消息隊列 消息隊列提供了一種從一個進程向另一個進程發送一個數據塊的方法。  每個數據塊都被認爲含有一個類型,接收進程可以獨立地接收含有不同類型

原创 內核日誌:API 及實現

使用日誌進行調試的方法由來已久。日誌不僅在理解系統的內部操作方面很有用,而且對於通過時間標記的日誌中按時間順序排列的消息所記錄的系統活動的計時和關係也非常有用。 本文首先通過介紹用於配置和收集日誌信息的應用程序接口(API)來說明了內

原创 linux 服務器socket的五種模型

一、五種I/O模型 1、阻塞I/O 我們在前面所說的I/O模型都是阻塞I/O,即調用recv系統調用,如果沒有數據則阻塞等待,當數據到來則將數據從內核空間(套接口緩衝區)拷貝到用戶空間(recv函數提供的buf),然後rec

原创 指針的初始化總結

1.    字符指針的初始化 在c語言中 "string"保存的就是首個字符所在的地址  所以可以把 字符串常量"string" 賦值給指針 char *p;  p="string"  但不能把字符串常量直接賦給數組,需要用到 st

原创 ramdisk文件系統製作和移植

RAMDISK簡介: Linux 中,rootfs 是必不可少的。PC 上主要實現有ramdisk和直接掛載 HD(Harddisk,硬盤)上的根文件系統;嵌入式中一般不從 HD 啓動,而是從 Flash 啓動,最簡單的方法是將 r

原创 map的概念和用法詳解

std map是STL的一個關聯容器,它提供一對一(其中第一個可以稱爲關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱爲該關鍵字的值)的數據處理能力,由於這個特性,它完成有可能在我們處理一對一數據的時候,在編程上提供快速通道。這裏說