Time of Update: 2018-12-03
理解嵌入式開發中的一些硬體相關的概念 做嵌入式系統開發,經常要接觸硬體。做嵌入式開發對數字電路和類比電路要有一定的瞭解。這樣才能深入的研究下去。下面我們簡單的介紹嵌入式開發中的一些硬體相關的概念。----電平(Level) 在數字電路中,分為高電平和低電平,分別用1和0表示。一個數字電路的管腳,總是存在一個電平的,要麼高要麼低,或者說要麼1要到0(其實,還有另一種狀態,後面會提到)。----匯流排(Bus)
Time of Update: 2018-12-03
機頂盒搜台方法主要分為三種:①:機頂盒軟體開發廠商會在機頂盒內設定一個初始頻點(MainFrenquency).或稱主頻點,機頂盒可以根據這個主頻點的物理參數,如頻點.符號率,和調製方式,去鎖定此頻點.如某機頂盒設定506MHZ作為數位元組目的承載主頻點,擷取NIT(Network Information Table),NIT表由以下兩個描述:1.Cable Delivery System Descriptor,這個描述主要包含了頻點,符號率,調製參數等資訊;2.ServiceList Desc
Time of Update: 2018-12-03
make工具最主要也是最基本的功能就是通過描述檔案來描述來源程式之間的相互關係並自動維護編譯工作,而描述檔案需要按照某種文法進行編寫,檔案中需要說明如何編譯各個源檔案並連結產生可執行檔,並要求定義源檔案之間的依賴關係,為了更方便使用,檔案中同時可以用一些宏定義。描述檔案一般需要包含以下內容:● 注釋● 宏定義● 顯式規則● 隱含規則
Time of Update: 2018-12-03
最近在做展訊Android手機驅動的開發,需要能清楚U-Boot啟動過程,然後書寫相關的驅動代碼。而像lcd驅動一般會在u-boot啟動的過程中便會選擇載入某一特定的驅動,而且u-boot和kernel中的代碼大致相同,因為Android開機過程便會顯示開機logo,這涉及到顯示的部分驅動。u-boot啟動過程可以分為兩個階段,兩個階段的功能如下:StageI:第一階段的功能(展訊為16k的彙編代碼) 硬體裝置初始化 載入U-Boot第二階段代碼到RAM空間 設定好棧
Time of Update: 2018-12-03
在myeclipse中deploy:選擇了一個工程,添加一個新的deploy工程時,不能正常出現deploy Location或者出現的名稱跟服務名稱不一樣,可能的原因是在.mymatadata中context-root的屬性值設定錯誤(此檔案是在eclipse的工作空間下工程對應的檔案夾下),另外webrootdir屬性也要設定正確。一個常見的配置如下:<?xml version="1.0" encoding="UTF-8"?><project-module
Time of Update: 2018-12-03
最近懷疑磁軌有損壞,用smartctl檢測硬碟,方法如下,作業系統是ubuntu10.04:安裝smartctl:開始以為是apt-get install smartctl,沒作用。應該是:apt-get install smartmontools查看smartctl服務是否啟動:smartctl -i /dev/sda1 如果出現SMART support is: Available - device has SMART capabilitySMART support is: Enabled
Time of Update: 2018-12-03
今天把一個項目運行了一下,發現和預想的結果不一樣,查到最後才發現是溢出的問題所致。出個題目如下:__int64 cnt = 1048;__int64 n = 10000000 * 1001 / 30000 * cnt;呵呵,你覺得這個運行結果是多少呢?用計算機算出來為349682666你在用printf("%I64d", n);打出來看一下,結果竟是49607080簡直相差甚遠。作為一個有7年開發經驗的碼農,能夠感到驕傲的是,在遇到一些奇怪的問題最後終能找出原因,這也許就是所謂的格物致知精神吧。
Time of Update: 2018-12-03
開始action的servcie沒有註解成功,報null 指標錯誤,最後對dao的,service裡方法進行註解,才發現註解成功了的,但是action的servcie還是空的沒有註解成al
Time of Update: 2018-12-03
看一個函數:const int getval(void){return 100;}該函數傳回值裡的const其實是可有可無的再看一個函數const int* getptr(void){int *p = (int *)0xCC;return p;}這個函數的傳回值裡的const就不是可有可無的了,它表示返回一個指標,該指標指向的內容不能被修改。const int *p = getptr();//該行可以編譯通過int *p =
Time of Update: 2018-12-03
一般說來sed替換的文法是 sed 's/abc/xyz/g' s表示search,g表示gloabl全部替換, abc為被替換字元,xyz為要替換的字元,兩邊是單引號。如果牽涉變數名,則應為sed 's/abc/‘“$url”’/g' 或者 sed "s/abc/$url/g" 還有種更特殊的情況,如果$url的值為比如為http://1.2.3.4:8080/test/hi.html,它裡面牽涉到/的字元時,則要用,或#代替,比如則應該為sed 's#abc#‘“$url”’#g'
Time of Update: 2018-12-03
H.264(MPEG-4 AVC)層級(Level),DPB與MaxDpbMbs詳解發表於 2012 年 2 月 16 日由 keith70 對於H.264(MPEG-4 AVC)而言,層級(Level)是與檔次(Profile)同等重要的參數。但很多文章說的很簡略,只是說標清視頻一般用3.1,高清用4,具體含義語焉不詳。於是我做了一番研究。一、層級詳表層級(Level)是用來約束 解析度、幀率 和 碼率 的。詳細資料請看H.264層級計算機網頁版中的附錄A表格。術語表:Level:層級。
Time of Update: 2018-12-03
最近在用宏定義時,總是得不到正確的結果,最後才發現是由於宏定義中缺少了括弧所致,故特作此文,以警人警己。比如:#define MIN(a, b) a > b ? b : a這樣定義也不是每次都有問題。如果用到這個宏的代碼像這樣,MIN(3, 5) / 2就有問題了。所以需要改成這樣:#define MIN(a, b) (a > b ? b : a)即使這樣,也會有問題。我舉不出例子,微軟的代碼裡是這樣的:#define MIN(a,b) ((a) > (b) ? (b) :
Time of Update: 2018-12-03
在有些VC工程中,包含一些為了最佳化寄存器而用彙編寫的asm檔案,假設有一個檔案名稱叫XXX.asm,那麼怎麼編譯這個XXX.asm檔案為XXX.o檔案呢?以VC6.0為例,在VC6.0的工程設定裡有一個選項卡叫做Custom Build,選中要左邊檔案樹裡要編譯的XXX.asm,在右邊的Commands下的編輯框裡輸入$(masm_dir)/ml /c /Cp /coff /Fo$(OUTDIR)/$(InputName).obj /Zm /Zi
Time of Update: 2018-12-03
當我們改變一些參數後,希望根據這些參數重繪視窗的某部分地區,可能會調用InvalidateRect這個函數,其中的第二個參數,表明重新整理的地區,如果你在調用這個函數時遇到視窗的背景閃爍的問題,很可能是沒有重載WM_ERASEBKGND訊息的處理,你需要做的是在這個訊息的響應函數裡加上一句:return TRUE;因為InvalidateRect函數在重繪指定的視窗地區後,接著發送WM_ERASEBKGND和WM_NCPAINT訊息。
Time of Update: 2018-12-03
在叢集上面跑hbase,用mapreduce來scan hbase的記錄,開始跑時,允許機器swap,每台機器swap大概幾十兆,跑一批資料下來共耗時40秒。關閉每台機器的swap後,相同數量的資料耗時35秒,略有提升。關閉swap的步驟:echo 0 > /proc/sys/vm/swappiness修改/etc/sysctl.conf,新增vm.swappiness = 0重啟如若轉載,請說明出處! http://blog.csdn.net/xukunddp
Time of Update: 2018-12-03
mfc中的CString是ATL的版本。看下面的代碼: CString str = _T("123"); LPTSTR p = str.GetBuffer(100); _tcscpy_s(p, 100, _T("abcd")); ASSERT(str.GetLength() == 3);// Length still 3 str.ReleaseBuffer();// Surplus memory released, p is now invalid. ASSERT(str.GetLength()
Time of Update: 2018-12-03
相信大部分的程式猿都用到過結構體和聯合體,今天就簡單的說說結構體和聯合體。--關於結構體和聯合體的定義結構體:struct
Time of Update: 2018-12-03
今天在win7的機器上裝了一下開發的程式的安裝包,在註冊lame.ax時老是不成功,然後在命令列下手動註冊也是失敗!後來發現是少了依賴庫msvcr71.dll,這個dll在我的開發機器上有,我把它拷到安裝檔案目錄下,就可以註冊了,原來這是因為我的lame.ax是用vs2003編譯的,依賴的庫在win7下沒有或者被其他程式誤刪除了,這個dll還有msvcp71.dll通常在system32目錄下的。於是把安裝包帶上msvcr71.dll,一切ok!
Time of Update: 2018-12-03
vi有兩種模式,命令模式和編輯模式,用esc和i按鍵來切換。要尋找文中的關鍵字,可用/xxx即一個斜杠加關鍵字,然後斷行符號就能找到,用n的大小寫按鍵來向下和向上搜尋。這樣會搜尋文中所有出現xxx的地方,要全字匹配的話還要加<>,即形如/\<xxx\>的形式。如果只搜尋xxx首碼的就用/\<xxx,同樣要搜尋xxx尾碼的就用/xxx\>
Time of Update: 2018-12-03
其實struts2的零配置很好理解 先要配置web.xml 如下 (其中一段) <filter> <filter-name>struts2</filter-name>