Time of Update: 2018-12-05
一語句實現x是否為2的若干次冪的判斷#define is2*n(x) ((x & (x - 1))? 0 : 1)int main(void){int m = 512;cout << ((m & (m - 1)) ? false : true) << endl;//即當m中只有一位為1時,才為若干次冪值//若有兩個及以上1,則(m & (m -
Time of Update: 2018-12-05
技術出身,沒有背景,缺少投資意識,全靠掙老實工資養家糊口,追求自己理想,即使不是HW,在其他公司,也一樣有這樣的喟歎蹉跎。只不過,同樣的塊壘,有了HW這樣同樣的借口而已。——————————————————————————-作為一個老資格的潛水者,已經在這個論壇混跡很久了,基本都是遊客的身份去看看,甚少發言。09年以來,這個論壇似乎越發活躍了,大量的小道訊息,大量的桃色新聞,大量的離職宣言,風風火火又是一年過去了!而我依然是一個圍觀者,麻木冷靜的靜觀。
Time of Update: 2018-12-05
導讀:本文是酷殼網(CoolShell)陳皓收集的一些學習資源和文章,涉及的知識面可能比較泛,其主要目的在於分享,希望開發人員會喜歡。Web開發Javascript Garden,這是學習Javascript最好的網站了。http://bonsaiden.github.com/JavaScript-Garden,這個文檔由兩個StackOverflow的人寫成:Ivo Wetzel(Writing)和Zhang Yi
Time of Update: 2018-12-05
在上一篇文章裡面我們編譯了在X86體系的最簡單的Linux下的入門驅動Hello,現在我們開始開發在ARM板上的最簡單的Hello的驅動:開發環境:虛擬機器上的Linux(Fedora)+ARM(11)+友善之臂的光碟片帶的linux核心linux-2.6.36開發步驟:1.先安裝手冊重新編譯下核心和裁剪下檔案系統,具體的就參考手冊,上面寫的很清楚,但是需要注意的是:在編譯核心的時候不要選擇linux_module_sample已經led和iic驅動,也就是不要包括hello驅動、led驅動、以
Time of Update: 2018-12-05
思科和橫河電機面試題。通過一次遍曆找到單鏈表中倒數第n個節點,鏈表可能相當大,可使用輔助空間,但是輔助空間的數目必須固定,不能和n有關。單向鏈表的特點是遍曆到末尾後不能反向重數N個節點。因此必須在到達尾部的同時找到倒數第N個節點。不管是順數n個還是倒數n個,其實都是距離-尺規問題。尺規是一段距離可以用線段的兩個端點來衡量,我們能夠判斷倒數第一個節點,因為他的next==NULL。如果我們用兩個指標,並保持他們的距離為n,那麼當這個線段的右端指向末尾節點時,左端節點就指向倒數第n個節點。iNode
Time of Update: 2018-12-05
開發過去幾年來,瀏覽器開發工具一直是Web開發人員最得力的工具。它能夠與Web瀏覽器和諧相處,允許我們在當前視窗中即時地操作DOM元素、CSS樣式和JavaScript,以及擷取一些其他的有用資訊。以前開發人員使用Firefox的一個名叫Firebug的擴充,來開發和調試他們的網站。但是最近,各個瀏覽器都開發了一套它們自己的工具,並且每一個都有自己的優勢和劣勢。如今很難想像沒有這些方便的工具,如何來構建一個網站。啟用開發工具通常是按下“F12”鍵(Mac系統為 Cmd + Option + I
Time of Update: 2018-12-05
要求:不申請變數和空間 反轉字串 ,用一個函數實現。 異或^交換或者加減交換的典型應用! VIA 筆試題基本思路:從 兩頭往中間做字元交換 。字串最後一個字元是 '/0' ,表示結束,沒有實際意義,可以將它 當作中間變數 ,等處理完成後,再將最後一個字元置 '/0' 即可***********************************************************************void Reverse (char *s){if(strlen(s) == 1) /
Time of Update: 2018-12-05
有關單片機中斷系統的概念:什麼是中斷,我們從一個生活中的常式引入。你正在家中看書,突然電話鈴響了,你放下書本,去接電話,和來電話的人交談,然後放下電話,回來繼續看你的書。這就是生活中的“中斷”的現象,就是正常的工作過程被外部的事件打斷了。仔細研究一下生活中的中斷,對於我們學習單片機的中斷也很有好處。第一、什麼可經引起中斷,生活中很多事件能引起中斷:有人按了門鈴了,電話鈴響了,你的鬧鐘鬧響了,你燒的水開了….等等諸如此類的事件,我們把能引起中斷的稱之為中斷源,單片機中也有一些能引起中斷的事件,80
Time of Update: 2018-12-05
××××××××××××××××××××××××××××××××××統計一個字串中所有字元出現的次數基本思路:建立一個訪問標誌數組,初始化為訪問次數0,每訪問一次,將其增1:static int count[128];遍曆字串數組,每次讀取一個字元ch; count[ch]++; 這樣只要遍曆一次數組就行了。在最後把count[i]==0的去掉即可#include <iostream>using namespace std;int main(){int count[255] ={0}
Time of Update: 2018-12-05
在Linux的ARM平台上的驅動設計需要遵循一個基本的模式,也就是說在你的驅動設計裡面除了有些是關於你的硬體知識,但是有些東西是設計這個驅動的幾個必須的模組:1、核心驅動的載入函數(必須的)static int _ _init
Time of Update: 2018-12-05
國外知名網站stackoverflow上有一個問題調查: 哪本書是對程式員最有影響、每個程式員都該閱讀的書?這個調查已曆時兩年,目前為止吸引 了153,432人訪問,讀者共推薦出了478本書(還在增加),其中最火的一本 書《Code Complete》被頂了1306次。如果你是個程式員,你一定有興 趣看看這些書裡你都看過幾本,如果你一本沒看過的話,我也不好說什麼 ,也許你是個天才,但我相信大多數人都知道,你在學校雷根本學不到什 麼真正的工作中需要的知識,我們畢業後能協助我們在公司中勝任工作的
Time of Update: 2018-12-05
多少年來,人們普遍有一種看法,認為軟體工程應該和其它種類的工程一樣:仔細的設計,精確的規劃,然後進行開發 —— 嚴格按照設計說明書。就像修建一座橋樑,不是嗎?這種開發方式的問題在於:軟體,它是“軟”的。它可以無限的延展。任何需要的時候你都可以大幅度的修改你的軟體,人們也都是這麼乾的。 還有,因為軟體可以被拿來對任何事物進行模型造型,你能要求軟體開發人員去實現的可能的東西幾乎是無窮無盡。想要在軟體裡類比整合電路嗎?幹吧。想管理銀行?沒問題。讓五億人和他們的朋友保持聯絡?為什麼不呢?
Time of Update: 2018-12-05
寫一個函數,完成記憶體之間的拷貝。[考慮問題是否全面,是否考慮記憶體重疊問題]返回void *支援鏈式操作,參數類型是void *以支援任意類型的指標,輸入參數加上const修飾,最好加上assert對輸入輸出指標進行非NULL判斷void* memcpy( void *dest, const void *src, size_t count ){char* pdest = static_cast<char*>( dest );const char* psrc =
Time of Update: 2018-12-05
一、shell下面直接處理awk命令 awk '{print $0}' file awk '/^(11+?)\1+$/ {print $0}' file //著名的判斷是否為素數的正則 上面兩個命令都是直接可以在shell下執行的命令,基本模式是 awk pattern { action } file,就是說awk會一行一行的從file中讀取文本,然後判斷pattern是否滿足,如果滿足則執行action。二、awk指令碼的基本結構 BEGIN{}
Time of Update: 2018-12-05
目標定義是Kbuild Makefile的主要部分,也是核心部分。主要是定義了要編 譯的檔案,所有的選項,以及到哪些子目錄去執行遞迴操作。 最簡單的Kbuild makefile 只包含一行: 例子: obj-y += foo.o 該例子告訴Kbuild在這目錄裡,有一個名為foo.o的目標檔案。foo.o將從foo.c 或foo.S檔案編譯得到。 如果foo.o要編譯成一模組,那就要用obj-m了。所採用的形式如下: 例子: obj-$(CONFIG_FOO) +
Time of Update: 2018-12-05
1.流水線結構 pipeline – MIPS 是最簡單的體繫結構之一,所以使大學喜歡選擇 MIPS 體繫結構來介紹計算體繫結構課程。 – ARM has barrel shifter shifter是兩面性的,一方面它可以提高數學邏輯運算速度,另一方面它也增加了硬體的複雜性。所以和可以完成同樣功能的adder/shift register相比,效率更高,但是也佔用更多的晶片面積。 – MIPS have “branch delay
Time of Update: 2018-12-05
一個進程在其生存期內,可處於一組不同的狀態下,稱為進程狀態,5-21所示。進程狀態儲存在進程任務結構的state欄位中。當進程正在等待 系統中的資源而處於等待狀態時,則稱其處於睡眠等待狀態。在Linux系統中,睡眠等待狀態分為可中斷的和不可中斷的等待狀態。 (點擊查看大圖)圖5-21 進程狀態及轉換關係 (1)運行狀態(TASK_RUNNING)。當進程正在被CPU執行,或已經準備就緒隨時可由發送器執行,則稱該進程為處於運行狀態
Time of Update: 2018-12-05
Phonon是什嗎?Qt從4.4版本開始提供的一套多媒體架構,提供多媒體回放的功能。目前在Qt 4.6中實現多媒體播放圖形介面主要依賴於phonon架構,其實qt中還有一個Multimedia模組,協助文檔中對它的描述是:實現底層的多媒體播放功能,在一般情況下上層的介面phonon模組更適合實現這些功能。phonon最初是 一個
Time of Update: 2018-12-05
程式員熱衷於長時間地工作。我想說的是,你就承認吧,你的工作/老闆並沒有讓你這樣做,你自己要這樣做而已。當然,我知道,也許並非所有程式員都喜歡長時間的編程。不過肯定的是,隨著加班成為業內的普遍現象,至少一半的程式員必須喜歡加班,不是嗎? 我早已聽到以下這類借口。“不,不是那樣的,我們只是喜歡炫酷的技術活,而且不想遺留未解決的問題。實際上,加班是一件好事,它讓我們變得出色!”
Time of Update: 2018-12-05
找出兩個字串中最大公用子字串,如"abccade"、"dgcadde"的最大子串為"cad"// 此題用for能控制迴圈,思路比下面的while更容易看懂int GetCommon(char *s1, char *s2, char **r1, char **r2){int len1 = strlen(s1);int len2 = strlen(s2);int maxlen = 0;for(int i = 0; i < len1; i++){for(int j = 0; j <