嵌入式linux开发考试题目,练一练!3道经典嵌入式Linux面试题,答案在文末。
原標(biāo)題:練一練!3道經(jīng)典嵌入式Linux面試題,答案在文末。
題一: 簡述memcpy和strcpy的區(qū)別?
題二:信號(hào)量與互斥鎖的區(qū)別?
題三:簡述程序編譯的過程?
題一答案:
(1)復(fù)制的內(nèi)容不同。strcpy只能復(fù)制字符串,而memcpy可以復(fù)制任意內(nèi)容,例如字符數(shù)組、整型、結(jié)構(gòu)體、類等。
(2)復(fù)制的方法不同。strcpy不需要指定長度,它遇到被復(fù)制字符串的結(jié)束符"0"才結(jié)束,所以容易溢出。memcpy則是根據(jù)其第3個(gè)參數(shù)決定復(fù)制的長度。
(3)用途不同。通常在復(fù)制字符串時(shí)用strcpy,而需要復(fù)制其他類型數(shù)據(jù)時(shí)一般用memcpy。
題二答案:
(1)互斥量用于線程的互斥,信號(hào)量用于線程的同步。
互斥:是指某一資源同時(shí)只允許一個(gè)訪問者對其進(jìn)行訪問,具有唯一性和排它性。但互斥無法限制訪問者對資源的訪問順序,即訪問是無序的。
同步:是指在互斥的基礎(chǔ)上(大多數(shù)情況),通過其它機(jī)制實(shí)現(xiàn)訪問者對資源的有序訪問。在大多數(shù)情況下,同步已 經(jīng)實(shí)現(xiàn)了互斥,特別是所有寫入資源的情況必定是互斥的。少數(shù)情況是指可以允許多個(gè)訪問者同時(shí)訪問資源。
(2)互斥量值只能為0/1,信號(hào)量值可以為非負(fù)整數(shù)。
也就是說,一個(gè)互斥量只能用于一個(gè)資源的互斥訪問,它不能實(shí)現(xiàn)多個(gè)資源的多線程互斥問題。信號(hào)量可以實(shí)現(xiàn)多個(gè)同類資源的多線程互斥和同步。當(dāng)信號(hào)量為單值信號(hào)量時(shí),也可以完成一個(gè)資源的互斥訪問。
(3)互斥量的加鎖和解鎖必須由同一線程分別對應(yīng)使用,信號(hào)量可以由一個(gè)線程釋放,另一個(gè)線程得到。
題三答案:
預(yù)處理:預(yù)處理命令以符號(hào)“#”開頭。預(yù)處理相當(dāng)于根據(jù)預(yù)處理命令組裝成新的C程序,不過常以i為擴(kuò)展名。C語言的預(yù)處理主要有三個(gè)方面的內(nèi)容:
1. 宏定義。
2. 文件包含。
3. 條件編譯。
編譯: 將預(yù)處理輸出的.i文件轉(zhuǎn)化成.s匯編文件。
這個(gè)階段編譯器主要做詞法分析、語法分析、語義分析等,在檢查無錯(cuò)誤后后,把代碼翻譯成匯編語言。
匯編:將匯編文件翻譯成機(jī)器語言,并打包成可重定位目標(biāo)程序的O文件。該文件是二進(jìn)制文件,字節(jié)編碼是機(jī)器指令。
鏈接:將引用的其他o文件并入到我們程序所在的o文件中,處理得到最終的可執(zhí)行文件。返回搜狐,查看更多
責(zé)任編輯:
總結(jié)
以上是生活随笔為你收集整理的嵌入式linux开发考试题目,练一练!3道经典嵌入式Linux面试题,答案在文末。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux文件系统添加pcm,linux
- 下一篇: linux ftp 配额 quota,l