Time of Update: 2018-12-03
這篇文章是轉載的,不過是我自己敲上去的,呵呵,寫的不錯,讀起來很舒服,分享給大家。 Life is what we make it! Are you dissatisfied with today’s success? It is the harvest from yesterday’s sowing. Do you dream of a golden tomorrow? You will
Time of Update: 2018-12-03
這裡主要想講下海思Hi3515的UART2和UART3是如何被載入到核心中的,因為正在做一個項目需要使用四個串口,但海思提供的linux源碼中只載入了兩個串口的驅動,找了一圈,發現源碼中沒有現成的UART2和UART3的代碼可以使用,只能自己動手改啦啊。。。首先關於linux硬體模組的載入可以參考下面這篇博文:好吧,我們進入正題,說說我做的過程:Hi3515的UART驅動位於drivers/serial/amba-pl011.c我們沿著pl011_init——amba_driver_regist
Time of Update: 2018-12-03
看了編程珠璣Programming Perls第11章關於快速排序的討論,發現自己長年用庫函數,已經忘了快排怎麼寫。於是整理下思路和資料,把至今所瞭解的快排的方方面面記錄與此。 綱要演算法描述時間複雜度分析具體實現細節劃分選取樞紐元固定位置隨機選取三數取中分割單向掃描雙向掃描Hoare的雙向掃描改進的雙向掃描雙向掃描的其他問題分治尾遞迴參考文獻一、演算法描述(Algorithm
Time of Update: 2018-12-03
一摞烙餅問題其實是一個很有意思的問題,它的描述是讓一摞隨機順序的烙餅通過單手翻轉的方式進行排序,以達到這摞烙餅由小到大順序放置在盤子上的目的,其特點是每次翻轉都會導致第一個烙餅到所要反轉的那個烙餅之間的順序變為逆序。我們的目的是求出次數最少的翻轉方案以及翻轉次數,很顯然這是一個最優化問題,我們本能想到的是動態規劃、貪心以及分支限界三種方法。 書中給出的遞迴演算法或稱之為分支限界法(即遍曆+剪枝=分支限界)秉承了遞迴演算法傳統的簡單、明了,但效率偏低的特點。這個問題的實質,我們在每一次反轉
Time of Update: 2018-12-03
函數原型:char *strcpy(char *dest, const char *source);參數聲明:dest指向目標串的首地址, source指向源串的首地址傳回值:返回目的串dest的首地址,這樣的目的是實現鏈式表達,如int len = strlen(strcpy(dest,
Time of Update: 2018-12-03
最近較多的接觸xml解析以及自訂協議的解析,所以也開始接觸用這些代碼自動產生工具來產生代碼,好處當然多多了,省時省力。所以決定利用空閑時間將什麼gsoap、flex、bison以及一些xml解析工具學習下。於是買了本書,於是有了此筆記。---------------------------------------------------------------------------------------------
Time of Update: 2018-12-03
在mediawiki中的郵件功能主要有:1註冊新使用者時會發郵件到使用者註冊信箱進行確認。2使用者修改,找回密碼時會發郵件確認。3使用者的監視頁面發生改變時會發郵件通知已經註冊監視了該頁面的使用者。對應在wiki設定中,需要改動兩個檔案:includes下的Default settings檔案,以及Local
Time of Update: 2018-12-03
異常分析 1、“could only be replicated to 0 nodes, instead of 1”異常(1)異常描述上面配置都正確無誤,並且,已經完成了如下運行步驟:[root@localhost hadoop-0.20.0]# bin/hadoop namenode -format [root@localhost hadoop-0.20.0]# bin/start-all.sh這時,看到5個進程jobtracker、tasktracker、namenode、datanode、
Time of Update: 2018-12-03
函數原型:char *strcat(char *dest, const char *source)傳回值:傳回值目標串的首地址,如果操作失敗則返回NULL傳輸說明: dest: 以'/0'為結束符的字串 source:以'/0'為結束符的字串作用:將字串source串連到dest字串的末尾,並將dest的結束符'/0'覆蓋。在執行串連的過程中,並不會檢測是否溢出,而且對於source和dest記憶體地區重疊,strcat()並未定義。實現如下:char
Time of Update: 2018-12-03
這是我第一次寫部落格,文中可能有些錯誤或者需要繼續改進的地方,希望大家能夠幫我發現不足啊,呵呵。本文重寫了string.h中的一些函數,參考了linux/lib/string.c中的函數原型和MSDN中函數的定義。雖然是重寫,但是改變的並不多,因為linux中的定義基本是最優的,我曾經對有些函數能否實現其功能產生過懷疑,但是結果可能並非我所猜測,所以每個函數我都會在VC下實驗一下,檢驗其執行結果。1.strncpyprototype:char *strncpy(char *strDest,
Time of Update: 2018-12-03
函數原型:char *strncat(char *dest, const char *source, size_t size)傳回值: 返回指向目標串dest首地址的指標,返回NULL表示出錯。參數說明: dest : 以'/0'為結束符的字串 source:以'/0'為結束符的字串
Time of Update: 2018-12-03
經典是經過了時間考驗的APR_DECLARE_NONSTD(unsigned int) apr_hashfunc_default(const char *char_key, apr_ssize_t *klen) { unsigned int hash = 0; const unsigned char *key = (const unsigned char *)cha
Time of Update: 2018-12-03
函數原型:void *memmove(void *dest, const void *source, size_t count)傳回值說明:返回指向dest的void *指標參數說明:dest,source分別為目標串和源串的首地址。count為要移動的字元的個數函數說明:memmove用於從source拷貝count個字元到dest,如果目的地區域和來源區域有重疊的話,memmove能夠保證源串在被覆蓋之前將重疊地區的位元組拷貝到目的地區域中。函數原型:void *memcpy(void
Time of Update: 2018-12-03
許可權的設定 在哪裡設定? 許可權的設定應該在localsettings.php中添加、修改代碼。(mediawiki的初始許可權設定儲存在includes/defaultsettings.php中)如何設定許可權? 許可權設定代碼如下:$wgGroupPermissions['使用者組']['許可權名稱'] = 取值;使用者組:設定許可權的目標範圍,*代表所有使用者組,user代表登入使用者,sysop代表管理員。注意:沒有單獨的匿名使用者組。
Time of Update: 2018-12-03
今天研究了一下演算法導論,很有意思的一本書,至少可以很好的訓練人的思維。呵呵。不過被一個課後習題難到了:stooge演算法。試著舉例來證明一下,不過沒有成功。不過找到了一個使用迴圈不變性(有的人叫迴圈不變式,不過感覺這種叫法好一些。)證明的。答案如下:STOOGE-SORT(A, i, j)1 if A[i] > A[j]2 then exchange A[i] « A[j]3 if i+1 ≥ j4 then return5 k ¬ ë(j-i+1)/3û
Time of Update: 2018-12-03
函數原型:int strcmp(const char *dest, const char *source) ;傳回值:返回整數值,如果dest > source,則傳回值大於0,如果dest = source,則傳回值等於0,如果dest < source
Time of Update: 2018-12-03
最近看到一篇討論關於assert該如何定義的文章,發現裡面由很多的玄機啊,結果仔細的研究發現了不少小的知識點啊。首先寫一個assert宏的定義: #ifdef NDEBUG #define assert(exp) ((void)0)#else#define assert(exp)/ do{/ if(!exp)/ {printf("assertion: %s failed in %s line %d ",#exp, __FILE__,__LINE__);
Time of Update: 2018-12-03
函數原型:int strncmp(const char *str1, const char *str2, size_t n);傳回值:返回整形值:如果str1 > str2, 傳回值大於0;如果str1=
Time of Update: 2018-12-03
函數原型:char *strchr(const char *str, char ch);傳回值:返回一個指標,該指標指向字元ch第一次出現的位置,如果在str中未找到ch ,則返回NULL參數說明:str:以'/0'結尾的字串。ch:待尋找的字元函數說明: 另一種形式為:char *strchr(const char *str, int n);字串結束符也包含在尋找之列。函數實現:char *strchr(const char *str, char ch){assert(NULL != str)
Time of Update: 2018-12-03
十六進位代碼 MCS 字元或縮寫DEC 多國字元名 ASCII 控制字元 100 NUL Null 字元 01 SOH 標題起始 (Ctrl/A) 02 STX 文本起始 (Ctrl/B) 03 ETX 文本結束 (Ctrl/C) 04 EOT 傳輸結束 (Ctrl/D) 05 ENQ 詢問 (Ctrl/E) 06 ACK 認可 (Ctrl/F) 07 BEL 鈴 (Ctrl/G) 08 BS 退格 (Ctrl/H) 09 HT 水平製表欄 (Ctrl/I) 0A LF 換行 (Ctrl/J)