1.什麼是嵌入式?
答:以應用為中心,以計算機技術為基礎,且軟硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。 其實我們現在說的嵌入式系統是狹義的即是基於某一款嵌入式微處理器(如arm)所組成的嵌入到物件體中實現智慧型控制的系統。
2.如何進行簡單的gdb除錯?
3.gcc命令對程式進行編譯低效的原因
答:(1)程式往往是由多個原始檔組成,原始檔的個數越多,那麼gcc的命令列就越長。此外,各種編譯規則也會加大gcc命令列的複雜度,所以在開發除錯程式的過程中,通過輸入gcc命令列來編譯程式是很麻煩的。
(2)在程式的整個開發過程中,除錯的工作量佔到了整體工作量的70%以上。在除錯的過程中,每次除錯一般只會修改部分的原始檔。而在使用gcc命令列編譯時,gcc會把那些沒有被修改的原始檔一起編譯,這樣就會影響編譯的整體效率。
4.什麼是巢狀執行?
答:如果把所有的原始檔的編譯規則都寫在乙個makefile中,會造成makefile過於臃腫,為編寫和修改帶來了很大的不便。解決這個問題的辦法是把makefile分解成多個子makefile ,並放置到程式的每個子目錄中,每個子makefile檔案負責之所在目錄下原始檔的編譯工作。make工程管理器會首先讀取程式根目錄下的makefile檔案(總控makefile),然後去讀取各個目錄中的子makefile檔案。這個過程就叫做make的巢狀執行。巢狀執行的方法為 cd 子目錄 && $(make)或者$(make) -c子目錄。
5.什麼是常量和變數?
答:在程式執行過程中其值不發生改變的量稱為常量,可分為整型常量,字元常量,實型常量。
變數:其值在其作用域內可以改變的量,可分為整型變數,字元型變數,浮點型變數,指標型變數等。
6.區域性變數和全域性變數
答:區域性變數:也稱為內部變數,區域性變數是在函式內作定義說明的,其作用域僅限於函式內,離開函式後再使用這種變數是非法的。
全域性變數:也稱為外部變數,他是在函式外部定義的變數,它不屬於哪乙個函式,它屬於乙個源程式檔案,其作用域是整個源程式。在函式中使用全域性變數,一般應作全域性變數說明,只有在函式內經過說明的全域性變數才能使用。全域性變數的說明符為extern,但在乙個函式之前定義的全域性變數,在該函式內使用可不再加以說明。
7.宣告與定義的區別
答:定義:就是編輯器建立乙個物件,為這個物件分配一塊記憶體並給它取上乙個名字,這個名字就是我們經常所說的變數名和物件名,要注意,這個名字一旦和這塊記憶體匹配起來,這塊記憶體的位置也不能被改變。乙個變數或物件在一定的區域內(如函式內.全域性等)只能被定義一次,如果定義多次,編譯器會提示你重複定義同乙個變數或者物件。
宣告:告訴編譯器,這個名字已經匹配到一塊記憶體上了,上面兩行**用到變數或物件是在別的地方定義的。宣告可以出現多次。還有一重意思,告訴編譯器這個名字我先預定了,別的地方再也不能用它來作為變數名或者物件名。
8.陷阱之有無符號與無符號
答:計算機語言中負數沒有-號來體現所以約定最高位是1則這個數為負數,最高位為0則為正數。
9.make工程管理器在執行時對條件進行判斷
答:條件表示式
如果真執行的文字段
endif
或者
條件表示式
如果真的執行文字段
else
如果假執行文字段
endif
10.函式
答:make工程管理器也引入了函式機制,以豐富make控制編譯過程的方法。和變數一樣,函式也用$進行標識,其使用格式為 $ (函式名 引數,引數...)其中函式名和引數用空格隔開,引數與引數之間用逗號隔開。
c 第一二章
機器語言 組合語言 高階語言 軟體 程式 文件 封裝 有限的對外介面,安全性好 繼承 意義在於軟體復用 改造擴充套件已有類來形成新的類 多型 同樣的訊息作用在不同物件上可能引起不同的行為 同樣是打擊行為,打籃球打桌球的方法和規則都不一樣 三種不同型別的翻譯程式 匯程式設計序 將組合語言程式翻譯成目標...
第一 二章課後習題
第一章 問答題 1.linux 採用什麼版權方式發行?這種版權與通常的商業軟體有何區別?答 linux是採用 gpl版權方式發行的,它和通常的商業軟體的最大區別是開放源 2.簡述 linux 的技術特點。答 1 成本低廉,完全開放源 2 對硬體的要求不高,支援硬體的種類多 3 支援多種不同格式的檔案...
控制電機第一 二章
第一章的重點和難點是雷達天線控制系統的原理。先提兩個簡單的問題。第一,雷達天線控制系統有哪兩種工作狀態?第二,雷達天線控制系統都用到哪些電機?各自在控制系統執行中起到什麼作用?答 工作狀態 1.雷達搜尋 2.自動跟蹤狀態 電機 自整角傳送機 自整角接收機 直流測速發電機 直流伺服電動機 大家在電路原...