Time of Update: 2018-12-03
標頭檔用於聲明而不是用於定義。對於非const變數不能在標頭檔中定義,因為非const變數預設為extern,如果標頭檔被多次包含(直接或間接),那麼變數就會被重複定義,因此標頭檔中只能聲明變數。extern int a=10;//不能用於標頭檔中extern int b;//可以int
Time of Update: 2018-12-03
迴圈可以容易的增加新元素,如果確實增加了元素的話,那麼測試以儲存的size值作為迴圈的結束條件就會有問題,因為沒有將新加入的元素計算在內,像size這樣的小庫函數幾乎都定義為內嵌函式,所以每次迴圈過程中調用它的運行時代價是比較小的。verctor<>::const_iterator
Time of Update: 2018-12-03
http://zhedahht.blog.163.com/blog/static/25411174201131184017844/題目:某公司有幾萬名員工,請完成一個時間複雜度為O(n)的演算法對該公司員工的年齡作排序,可使用O(1)的輔助空間。分析:排序是面試時經常被提及的一類題目,我們也熟悉其中很多種演算法,諸如插入排序、歸併排序、冒泡排序,快速排序等等。這些排序的演算法,要麼是O(n2)的,要麼是O(nlogn)的。可是這道題竟然要求是O(n)的,這裡面到底有什麼玄機呢?
Time of Update: 2018-12-03
class_create(),class_device_create()或device_create()自動建立裝置檔案結點 2011-03-14 15:40 85人閱讀 評論(0)收藏 舉報 從linux核心2.6的某個版本之後,devfs不複存在,udev成為devfs的替代。相比devfs,udev有很多優勢,在此就 不羅嗦了,提醒一點,udev是應用程式層的東東,不要試圖在核心的配置選項裡找到它;加入對udev的支援很簡單,以作者所寫的一個字元裝置驅動為例,在驅
Time of Update: 2018-12-03
#include <iostream>#include <vector>#include <cstddef>using namespace std;int main(void){ vector<int> vect1,vect2; int temp; bool equal2=true; while(cin>>temp) { vect1.push_back(temp);
Time of Update: 2018-12-03
館訓: 1.現在睡覺的話會做夢 而現在學習的話會讓夢實現 This moment will nap, you will have a dream; But this moment study,you will interpret a dream. 2.我無所事事地度過的今天是昨天死去的人們所奢望的明天 I leave uncultivated today, was precisely yesterday perishes tomorrow which person
Time of Update: 2018-12-03
f是ANSI的C標準庫。而後者的是UNIX下的系統調用。fread帶有緩衝,是read的衍生,或者說fread是通過read實現的要想直接和硬體打交道,必須用readfopen/fread是C標準的庫函數,操作的對象是: file streamopen/read是和作業系統有關的系統調用。操作的對象是: “file descriptor”fread返回的是一個FILE結構指標而read返回的是一個int的檔案號如果檔案的大小是8k。你如果用read/write,且只分配了2k的緩衝,則要將此檔
Time of Update: 2018-12-03
http://zhedahht.blog.163.com/blog/static/254111742011125100605/題目:寫一個函數,求兩個整數的之和,要求在函數體內不得使用+、-、×、÷。分析:這又是一道考察發散思維的很有意思的題目。當我們習以為常的東西被限制使用的時候,如何突破常規去思考,就是解決這個問題的關鍵所在。看到的這個題目,我的第一反應是傻眼了,四則運算都不能用,那還能用什麼啊?可是問題總是要解決的,只能開啟思路去思考各種可能性。首先我們可以分析人們是如何做十進位的加法的,
Time of Update: 2018-12-03
《三扇門理論》有三扇門A、B、C,其中只有一扇門後有汽車,另外兩扇門後面一無所有。現在讓一個人來選,如果他選的門後面有汽車,他將得到汽車;如果他選擇的門後面一無所有,他將一無所得。現假定你選了C門,而主持人知道另外兩扇門後的情況,於是他開啟了A、B兩門中的一扇,設為B,門後沒有汽車;這時主持人告訴你,現在還可以改變選擇,即在C門和A門之間選擇,問,你是否應該改變你的選擇? 解答:答案是毫無疑問的:改變選擇!選A門。因為此時A門後有車的機率是66.6%而C門後有車的機率是33.3%分
Time of Update: 2018-12-03
開始好好學習C++,看到第一部分第二章有關於wchar_t寬位元組,有關於wcout,編了下試了試,#include <iostream>int main(){ std::wcout.imbue(std::locale("chs")); std::wcout << L"Unicode,你好!" << std::endl; return
Time of Update: 2018-12-03
http://zhedahht.blog.163.com/blog/static/2541117420114172812217/題目:輸入一個字串,輸出該字串中字元的所有組合。舉個例子,如果輸入abc,它的組合有a、b、c、ab、ac、bc、abc。分析:在本系列部落格的第28題《字串的排列》中,我們詳細討論了如何用遞迴的思路求字串的排列。同樣,本題也可以用遞迴的思路來求字串的組合。假設我們想在長度為n的字串中求m個字元的組合。我們先從頭掃描字串的第一個字元。針對第一個字元,我們有兩種選擇:一是
Time of Update: 2018-12-03
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/題目:輸入一棵二叉樹的根結點,判斷該樹是不是平衡二叉樹。如果某二叉樹中任意結點的左右子樹的深度相差不超過1,那麼它就是一棵平衡二叉樹。例如中的二叉樹就是一棵平衡二叉樹:在本系列部落格的第27題,我們曾介紹過如何求二叉樹的深度。有了求二叉樹的深度的經驗之後再解決這個問題,我們很容易就能想到一個思路:在遍曆樹的每個結點的時候,調用函數TreeDepth得到它的左右子樹的深
Time of Update: 2018-12-03
U-Boot環境變數的解釋說明環 境 變 量解 釋 說
Time of Update: 2018-12-03
驅動模組Makefile解析作者:王勁南,華清遠見嵌入式學院講師。先看一下代碼ifeq ($(KERNELRELEASE),) KERNELDIR ?= /home/linux/linux-2.6.22.6 PWD := $(shell pwd) modules: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules modules_install:
Time of Update: 2018-12-03
Linux核心是一種單體核心(宏核心),但是通過動態載入模組的方式,使它的開發非常靈活 方便。那麼,它是如何編譯核心的呢?我們可以通過分析它的Makefile入手。以下是 一個簡單的hello核心模組的Makefile.編譯核心模組最簡單的Makefileifneq ($(KERNELRELEASE),)obj-m:=hello.oelseKERNELDIR:=/lib/modules/$(shell uname -r)/buildPWD:=$(shell pwd)default:
Time of Update: 2018-12-03
現在很多人都在{function onclick(){tagshow(event)}}">學習arm {function onclick(){tagshow(event)}}">嵌入式{function onclick(){tagshow(event)}}">系統 嵌入式{function onclick(){tagshow(event)}}">開發 arm核心板 arm9等有關arm的{function onclick(){tagshow(event)}}">知識,那麼在學習過程中瞭解arm{
Time of Update: 2018-12-03
問題描述:許多程式會大量使用字串。對於不同的字串,我們希望能夠有辦法判斷其相似程式。我們定義一套操作方法來把兩個不相同的字串變得相同,具體的操作方法為: 1.修改一個字元(如把“a”替換為“b”); 2.增加一個字元(如把“abdd”變為“aebdd”); 3.刪除一個字元(如把“travelling”變為“traveling”); 比如,對於“abcdefg”和“abcdef”兩個字串來說,我們認為可以通過增加/減少一個“g”的方式來達到目的。上面的兩種方案,都僅需要一次
Time of Update: 2018-12-03
作者:liukun321(咕唧咕唧)原文出處:http://blog.csdn.net/liukun321 我們在卸載核心模組時常常遇到rmmod: No such file or directory這個錯誤. 原因是我們沒將核心模組放在檔案系統指定的目錄內. 我們在配置核心時 General setup ---> 選項 下 ()Local version - append to kernel release 這個()內 ,我們若不填.在編譯完核心模組並執行
Time of Update: 2018-12-03
1.4.5 {tagshow(event)}">ARM體繫結構中的儲存{tagshow(event)}">系統 在介紹ARM體繫結構中的儲存系統之前,先簡單介紹一下ARM編程模型中與儲存系統相關的一些概念。ARM體繫結構使用單一的平板地址空間,該地址空間的範圍大小為232個8位位元組。這些位元組單元的地址是一個無符號的32位元值,其取值範圍為0~232-1。有了儲存系統的定址範圍之後,還需要討論一下實際儲存系統中的大/小端格式及ARM體繫結構中的MMU等概念。
Time of Update: 2018-12-03
Direct Memory Access 直接儲存空間訪問 在實現DMA傳輸時,是由DMA控制器直接掌管匯流排,因此,存在著一個匯流排控制權轉移問題。即DMA傳輸前,CPU要把匯流排控制權交給DMA控制器,而在結束DMA傳輸後,DMA控制器應立即把匯流排控制權再交回給CPU。 DMA 一個完整的DMA傳輸過程必須經過下面的4個步驟。 1.DMA請求 CPU對DMA控制器初始化,並向I/O介面發出操作命令,I/O介面提出DMA請求。 2.DMA響應