原创 AMPS:應用程序模型

    建立於AMPS之上的應用程序核心模型是獨立的、無阻塞、事件驅動的。其顯著特點如下:   應用程序爲一個有限狀態機(FSM),當事件發生時改變狀態。  應用程序由一組模塊組成。  每個模塊又細分爲一個函數,稱做事件句柄,每一個事件

原创 Linux:echo、read、cat命令

1、echo   不換行 -n 舉例:echo –n “My name is:”    執行命令:       舉例: kevin@kevin:~/mybash$ echo "My home dir is:$HOME my

原创 Linux:命令執行控制&&與||

1、&&   方式:command1 && command2   如果command1執行成功,則執行command2 -rw-rw-r-- 1 kevin kevin 0 9月 11 00:55 1.log [kevin@

原创 Linux:標準輸入、輸出、錯誤

1、文件描述符 文件 文件描述符  輸入文件 0 輸出文件 1 錯誤輸出文件 2 2、將標準輸出和錯誤輸出重定向到同一個文件:2>&1 kevin@kevin:~/mybash$ cat test.sh #/us

原创 2013年學習計劃

  通常應該在上一年年底時制定下一年計劃,可最近一段時間工作實在太忙,無暇去思考這個,就像每年年終的工作總結,總是一拖再拖。   剛大概翻了下博客,2012年寫了78篇博文,python相關的佔了90%,通過大半年的自學,對其有了一點點了

原创 AMPS:定時器模塊源碼解讀

  Timer模塊的實現比較複雜,需要結合前面的文章《AMPS:定時器管理》纔能有所理解,下面看看AMPS中的定時器實現,有些細節方面我也沒有想清楚。  AMPS_Timer.h #ifndef __HEADER_AMPS_TIMER_H

原创 AMPS:內存管理模塊源碼解讀(二)

  上節看了AMPS中通過數組+單鏈表實現的內存池,本節看看另一個實現方式。此方法思路如下:其內存池結構爲一個存放已分配內存信息的雙鏈表,一個表示內存池大小的變量,一個指向當前內存鏈表結點的指針鏈表,如下: /*內存池結構*/ struc

原创 AMPS:Cache模塊源碼解讀

  這裏講的Cache並不是通常說的計算機存儲系統中的高速緩存,而是軟件層面的緩存,它的做用主要是爲了提高數據處理的效率。在AMPS中,Cache的結構如下: /*Cache結構*/ struct _AMPSCache { void*

原创 Tools:VC6.0和SourceInsight下的pclint配置

  一、lint簡介  lint是最著名的C語言工具之一,是由貝爾實驗室SteveJohnson於1979在PCC(PortableC Compiler)基礎上開發的靜態代碼分析,一般由UNIX系統提供。與大多數C語言編譯器相比,lint

原创 如何聯繫我?

如需討論博文相關問題,可通過以下方式聯繫,歡迎交流,共同提高。 郵箱:dyx1024(at)gmail.com新浪微博:沒耳朵的羊 以下是公益廣告位,請您一併關注,謝謝!

原创 C:二維數組常用操作

/* 說明:程序實現二維數組中插入列、插入行、交換兩個指定位置的元素,並輸出指定 位置元素的變化軌跡 作者:socrates 日期:2014-08-17 */ #include "stdafx.h" #include <stdlib.h

原创 筆記:Vmware安裝提示The MSI failed

  之前的ubuntu由於直接關機導致文件損壞,將虛擬機卸載重裝安裝,報The MSI failed,安裝失敗,通過命令行方式安裝成功,記錄之。   方法如下:   1、cmd命令進行安裝文件所在目錄;   2、執行VMware-work

原创 AMPS:MySQL數據庫操作模塊源碼解讀

  本節看看在AMPS中對MySQL數據庫的訪問操作,它使用MySQL提供的C API接口進行訪問,具體各API的使用可參考http://dev.mysql.com/doc/refman/5.6/en/c-api-function-ove

原创 AMPS:雙向鏈表源碼解讀

  本節在上節單向鏈表的基礎上看看AMPS中對雙向鏈表的實現,與單向鏈表相同,雙向鏈表在軟件中的使用也相對比較廣泛,在後面要講到的Hash表、定時器、內存管理等模塊中都會見到以雙向鏈表作爲基本數據結構。其實,雙向鏈表在實現上使用了很多單向

原创 AMPS:數據庫訪問模塊源碼解讀

  AMPS做爲一箇中間件,也提供了訪問數據庫的接口,目前支持MySQL和Oracle(對我所喜愛PostgreSQL卻默認不支持,看來我的愛好屬於非主流哈~),下面要看的是DBEngine庫,它只做一件事情,就是封裝了不同數據庫操作的差