原创 linux 實現監聽熱插拔事件

在一些跑linux 系統的平臺上,比如故事機,會支持sdcard 熱插拔的功能,也就是在sdcard 插入後,把sdcard mount到文件系統中,sdcard拔出後移除。上層應用要怎麼知道這個事件呢,應用層可以註冊監聽uevent 事

原创 openssl 實現https 網頁訪問

下面是一個用openssl  實現獲取https 網頁內容的demo,整個流程比較簡單,主要封裝的API如下 static int https_init(https_context_t *context,const char* url);

原创 socket實現下載http資源

使用socket 的api 來實現下載http 網絡資源,其實整個流程也十分簡單 1、解析url 得到域名 和 資源位置 2、根據域名得到服務器ip地址,然後通過ip 和端口建立socket連接 3、發送http 請求 4、解析http

原创 looper線程的簡單實現

在代碼的邏輯中,我們經常需要把一些操作放到一個線程中去執行,比如android 中的更新UI就只能在main線程中執行,這樣做是爲了避免有些資源被兩個(多個)線程“同時”修改。下面是用c語言實現的looper線程。 #ifndef _

原创 使用alsa-lib實現錄音

雖然網上已經有了很多的參考資料,但是不是很詳細,而且註釋也很少。有些看起來似懂非懂,所以在我這裏提供了一版詳細的實現代碼,方便大家一起學習。頭文件的聲明在 alsa_record.h#ifndef COM_HXIONG_ALSA_RECO

原创 QT修改應用圖標,給按鈕添加監聽器

1、QT怎麼修改應用圖標將圖標文件放到工程下面,例如qwind_icon.ico然後在項目中點擊右鍵,選擇添加新文件在新建文件對話框中選擇Qt->Qt Resource File 在彈出的Qt Resource File對話框中的名稱一欄

原创 freertos 編碼風格

1、FreeRTOS簡介 百度百科介紹,FreeRTOS是一個迷你的實時操作系統內核。作爲一個輕量級的操作系統,功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟件定時器、協程等。 2、變量命名風格 FreeRTO

原创 大文件分割工具,QT實現

最近在學習QT開發,爲了驗證自己學習成果,最好還是做一個有點用的UI界面工具。想到了在前一家公司工作時,主要是分析出系統發生的異常,找出根本原因。這個異常可能發生在linux kernel,也可能是native 層的應用,也可能發生在ap

原创 linux sched init簡介

調度器的初始化,前面的android 開機流程講過,uboot(bootloader)執行完一些初始化動作後,會將kernel加載到內存,然後跳到kernel。 kernel在執行完一段彙編代碼,準備好c

原创 android condition 詳細介紹

上一篇介紹了Mutex 的作用和實現,在多線程中,使用mutex 可以實現對全局變量的加鎖保護,也就是在訪問(讀寫)這個變量之前先要獲取對應的鎖,然後才能訪問。在多線中還有這樣的場景,某個線程需要等另外一個線程完成了某些操作,然後再“通知

原创 cmake入門

CMake是一個跨平臺的編譯工具,可以用簡單的語句來描述個平臺的編譯過程。使用cmake 來編譯代碼十分簡單,方便,cmake是一個生成編譯腳本的工具,在linux 它會生成對應的makefile文件,然後調用makefile來編譯代碼。

原创 QT安裝簡介

1、下載QT安裝包下載網址:http://download.qt.io/或者http://download.qt.io/archive/qt/選擇一個你需要的版本,例如 5.10點擊進去後,選擇對應操作系統的安裝包下載,例如qt-open

原创 使用arecord、aplay 實現錄音和播放

1、arecord 錄音1)查看錄音設備輸入 adb shell輸入arecord –lC:\Users\Administrator>adb shell / # arecord -l **** List of CAPTURE Hardwa

原创 memblock 數據結構及API介紹

前面一篇博客介紹了memblock初始化的流程,實際上並沒有介紹完整,只是列出了大概的流程,設計到的相關數據結構都沒有介紹,所以接下里繼續瞭解memblock使用到的數據結構,以及是如何進行內存分配和管理的。linux-4.10/incl

原创 ELF 文件格式介紹

ELF文件是一種用於二進制文件、可執行文件、目標代碼、共享庫和核心轉儲格式文件。由4部分組成,分別是ELF頭(ELF header)、程序頭表(Program header table)、節(Section)和節頭表(Section he