原创 Linux系統中ioctl()用法

  一、 什麼是ioctl。       ioctl是設備驅動程序中對設備的I/O通道進行管理的函數。所謂對I/O通道進行管理,就       是

原创 Linux下Socket編程(二)

 ——轉自亞嵌 連接建立   面向連接的客戶程序使用Connect函數來配置socket並與遠端服務器建立一個TCP連接,其函數原型爲:    in

原创 Linux下Socket編程(一)

 ——轉自亞嵌 什麼是Socket    Socket接口是TCP/IP網絡的API,Socket接口定義了許多函數或例程,程序員可以用它們來開發T

原创 extern用法詳解

 1 基本解釋  extern可以置於變量或者函數前,以標示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其他模塊中尋找其定義。  另

原创 如何學習嵌入式Linux?

 ——轉自亞嵌 隨着Linux應用的擴展許多朋友開始接觸Linux,根據學習Windwos的經驗往往有一些茫然的感覺:不知從何處開始學起。這裏介紹學

原创 volatile用法詳解

volatile關鍵字是一種類型修飾符,用它聲明的類型變量表示可以被某些編譯器未知的因素更改,比如:操作系統、硬件或者其它線程等。遇到這個關鍵字聲明的變量,編譯器對訪問該變量的代碼就不再進行優化,從而可以提供對特殊地址的穩定訪問。 使用該

原创 函數指針與指針函數

  1.指針函數的定義     顧名思義,指針函數即返回指針的函數。其一般定義形式如下:       類型名 *函數名(函數參數表列);     其

原创 static用法詳解

 一、C++中的static 簡介   C++的static有兩種用法:面向過程程序設計中的static和麪向對象程序設計中的static。前者應用

原创 void使用詳解

 1.空指針     一般來說,程序的起始地址是從“代碼區”的0地址開始存放的(注:如果插入一個內存分佈圖,則更能說明問題,此處省略),但實際上現代操作系統並非如此,卻保留了從0開始的一塊內存。至於這塊內存到底有有多大,與具體的操作系統有

原创 C語言常用排序全解

 1、穩定排序和非穩定排序    簡單地說就是所有相等的數經過某種排序方法後,仍能保持它們在排序之前的相對次序,我們就 說這種排序方法是穩定的。反之

原创 Linux下Socket編程(三)

 ——轉自亞嵌 無連接的客戶/服務器程序的在原理上和連接的客戶/服務器是一樣的,兩者的區別在於無連接的客戶/服務器中的客戶一般不需要建立連接,而且在發送接收數據時,需要指定遠端機的地址。 阻塞和非阻塞    阻塞函數在完成其指定的任務以前

原创 Const用法詳解

  Const用法詳解 一、const與#define的比較 C++語言可以用const來定義常量,也可以用#define來定義常量。但是前者比後者

原创 C++ : 重載、覆蓋、和隱藏

 這幾個概念都有一個共同點:函數名稱相同,所以不免讓人混淆,大致的區別如下:重載(overload): 必須在一個域中,函數名稱相同但是函數參數不同,重載的作用就是同一個函數有不同的行爲,因此不是在一個域中的函數是無法構成重載的,這個是重

原创 U-BOOT之一:BootLoader 的概念與功能

U-BOOT之一:BootLoader 的概念與功能                              ——轉自《U-BOOT移植S3C2440完全手冊》 1.1嵌入式Linux 軟件結構與分佈 一般情況下嵌入式Linux 系統中

原创 Linux內核中的do{}while(0)

  Linux內核中的do{}while(0)      在Linux內核中,經常會看到do{}while(0)這樣的語句,剛開始會疑惑,認爲do{}while(0)毫無意義,因爲它只會執行一次,加不加d