原创 *lds ----linux下的通用鏈接腳本

ELF(Executable and Linkable Format)格式,linux平臺下十分常見的可執行、可連接文件。 輸出section的丟棄: 例子,.foo { *(.foo) },如果沒有任何一個輸入文件包含.foo se

原创 Qt Creator的配置和開發初步測試

關於編譯與安裝的內容請參考: Linux 下編譯、安裝、配置 QT 交叉編譯QT 4.8.3 本篇博客主要記錄3方面的內容 1、Linux下Qt Creator的配置,這部分是以前面兩篇文章的工作爲基礎,進行一些細節配置. 2

原创 LINUX內核和驅動中常見的 C語法---》標記化 初始化

在標準C中(C89)結構標準初始化是用{}來實始化,在C99的版本,採用了採用可讀性更強的標記化 初始化,這在LINUX內核和驅動很爲常見。 這是ISO C99的用法  C Primer Plus第五版中相關章節:  已知一個結構,定

原创 QT在windows下的安裝與配置

先了解Qt:          Qt一直以來,分爲商業、開源兩個版本,商業版本爲用戶提供了二級制的動態庫,直接安裝既可以使用,但是需要花錢購買license,而開源版本則遵守GPL協議,提供了源碼,用戶需要自行編譯,才能生產動態庫文件

原创 container_of

container_of的函數實現: [cpp] view plaincopy #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)   /*

原创 static inline內嵌函數的理解

內聯函數有些類似於宏。內聯函數的代碼會被直接嵌入在它被調用的地方,調用幾次就嵌入幾次,沒有使用call指令。這樣省去了函數調用時的一些額外開銷,比如保存和恢複函數返回地址等,可以加快速度。不過調用次數多的話,會使可執行文件變大,這樣

原创 BSP 概念解析

Drew在這裏按照自己的理解來解釋一下BSP( Board Support Package),僅供參考:   BSP是板級支持包,是介於主板硬件和操作系統之間的一層,應該說是屬於操作系統的一部分,主要目的是爲了支持操作系統,使之能夠更好的

原创 Android入門- 關於Activity下的onCreate方法

在AndroidManifest.xml文件中的<intent-filter>元素中有這麼兩句: <intent-filter>      <action android:name="android.intent.action.M

原创 list_for_each_entry

在Linux內核源碼中,經常要對鏈表進行操作,其中一個很重要的宏是list_for_each_entry: 意思大體如下:          假設下面幾個結點,則第一個member代表head,list_for_each_entry

原创 linux內核目錄結構

/ 根目錄 │ ├boot/ 啓動文件。所有與系統啓動有關的文件都保存在這裏 │ └grub/ Grub引導器相關的文件 │ ├dev/ 設備文件 ├proc/ 內核與進程鏡像 │ ├mnt/ 臨時掛載 ├media/ 掛載媒體設備 │

原创 我用C語言描述女人

有的女人就像Windows 雖然很優秀,但是安全隱患太大有的女人就像UNIX  她條件很好,然而不是誰都能玩的起有的女人就像C# 長的很漂亮,但是家務活不行。有的女人就像C++,她會默默的爲你做很多的事情。 有的女人就像JAVA,只需一點

原创 嵌入式web服務器BOA源碼解析

BOA是一個單進程的web服務器,支持CGI交互,瀏覽器每次發送一個POAT請求,BOA會對應fork一個CGI進程,數據發送完成後,CGI進程退出,儘管存在這樣的進程創建和銷燬的開銷,但BOA仍然是一款輕量級的web服務器,適用

原创 VC讀取mat格式文件

1.      首先設置Visual C++6.0 編譯環境的設置 1-1通過菜單 Tools/ Options,打開Visual C++6.0設置屬性頁,進入 Directorie頁面,在 Show Directories for下

原创 軟中斷/tasklet/工作隊列

軟中斷、tasklet和工作隊列並不是Linux內核中一直存在的機制,而是由更早版本的內核中的“下半部”(bottom half)演變而來。下半部的機制實際上包括五種,但2.6版本的內核中,下半部和任務隊列的函數都消失了,只剩下了前三者

原创 ucosIII內核文件分析-os_core.c

Suspend時掛起的意思,是task主動調用使自己掛起,並且是無條件的掛起; 而pend時系統讓task等待信號量或事件時阻塞的。 /**********************************