原创 幾種CRT函數的彙編實現
.data .set ZERO , 0b00000000000000000000000000000000 strlen: 在這裏利用scasb命令,scasb將di指向的數據與al比較,repne表示重複掃描,如果不相等,則di遞增指向下
原创 cyclictest源碼分析
前言 最近研究了下rt-linux,在ubuntu上跑了3.4.72-rt89的實時內核,並且運行了cyclictest檢驗實時內核與普通內核的區別,詳見: http://blog.csdn.net/sakaue/article/det
原创 Ubuntu下測試RT-Linux的性能
上次在Ubuntu上編譯了3.12.6的rt_kernel,安裝內核後無法進入系統(原因暫未查找),重新下載3.4.72的內核編譯後正常進入系統 wget https://www.kernel.org/pub/linux/kern
原创 ubuntu下linux preempt內核編譯
1. 前言 標準的Linux 內核只能能夠滿足軟中斷的要求,爲用戶空間提供基本的Posix操作,但是不對固定的時間點做保證,PREEMPT_RT補丁解決了這一問題,它的實現技術包括:中斷線程化(包括IRQ和softirq)、用M
原创 ACE Reactor for Windows模型源碼研究
最近研究了下ACE的Reactor模型的源碼。相比之前自己寫的ACE Select模型,複雜了不少。ACE的Reactor框架,用戶通過繼承ACE_Event_Handler事件處理類。關聯ACE_Reactor反應器,
原创 ACE的Select模型
雖然之前也在linux下寫過select服務,但是用ACE還是第一次,把一些心得寫下來。算是milestone吧。首先ACE相關庫的下載安裝我就不多廢話,先說說程序的框架,該服務器分服務端和客戶端。服務端的主線程負責
原创 Fedora下IPC名字的命名
Posix.1描述PosixIPC名字如下: 1 它必須符合已有的路徑命名規則(必須最多有PATH_MAX個字節構成,包括結尾空字節)。 2 它必須以斜槓符開頭,那麼對這些函數的不同調用將訪問同一隊列。如果它不以斜槓符開頭,那麼效果取決與
原创 模塊式編譯的Makefile
平時少不了在linux下寫Demo,每次都gcc -o 或者單獨寫個不可移植的Makefile真的很麻煩,所以寫個通用的Makefile很重要。我們在shell下make,有時當前目錄下是子目錄,有時是編譯目
原创 STLport::hash_map實現分析
前言: 最近研究了下STLport::hash_map的底層實現。由於STLport是基於SGI實現的,所以也可以通過STLport大致一窺SGI的內部邏輯。 STLport下載地址如下: http://nchc.dl.s
原创 可變參數及可變參數宏的使用
我們在C語言編程中會遇到一些參數個數可變的函數,例如printf()這個函數,這裏將介紹可變函數的寫法以及原理. * 1. 可變參數的宏 一般在調試打印Debug 信息的時候, 需要可變參數的宏. 從C99開始可以使編譯器標準支持可變參
原创 多臺,不同OS的PC機如何共享鼠標鍵盤
多臺計算機不同操作系統之間共享一套鍵鼠可以有效提高工作的效率,這裏推薦一個軟件——Synergy。 安裝: 首先在ubuntu上安裝QuickSynergy (sudo apt-get install QuickSynergy),
原创 minidlna源碼初探(二)—— SSDP設備發現的大致流程
前言: 之前有專文介紹了minidlna中的UPNP功能,內中介紹其中包含的SSDP(簡單發現協議),SOAP(簡單對象訪問協議)等幾個協議(http://blog.csdn.net/sakaue/article/deta
原创 將ffmpeg編入motion
前言 Motion是一種視頻監控程序,監視來自攝像機的視頻信號,偵測拍攝中的運動。 Motion的官方網站見:http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome Motion的下載
原创 開源硬件交流@上海新車間
當下,開源硬件越來越火了。昨晚和二三同事去新車間參加交流活動。活動的主題居然不是技術,而是衆籌融資(嘉定南翔的科技50,對有新奇idea的項目進行扶持),有兩家公司帶來了硬件,分別是3D打印機和Router開發板。
原创 minidlna源碼初探(一)
前言 minidlna是一種優秀的DLNA解決方案。本文將涉及minidlna的upnp以及目錄管理的代碼。minidlna的下載鏈接如下: wget http://netcologne.dl.sourceforge.net/projec