亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

嵌入式培訓(xùn) 百分網(wǎng)手機(jī)站

嵌入式軟件助理工程師認(rèn)證考試試題題庫(kù)(6)

時(shí)間:2018-04-01 11:42:31 嵌入式培訓(xùn) 我要投稿

2016年嵌入式軟件助理工程師認(rèn)證考試試題題庫(kù)

  {

  if(Edit1->text() == "example")

  {

  QMessageBox::warning(this, "warning", "Pass!", QMessageBox::Yes);

  }

  else

  {

  QMessageBox::warning(this, "warning", "Error!", QMessageBox::Yes);

  }

  }

  #include

  #include "window.h"

  int main(int argc, char* argv[])

  {

  QApplication app(argc, argv);

  CWinDlg dlg;

  return dlg.exec();

  }

  答案要點(diǎn):

  1)什么是Qt中的信號(hào)插槽機(jī)制?與回調(diào)函數(shù)機(jī)制有何不同?(3分)

  答案要點(diǎn):回調(diào)函數(shù)機(jī)制是事先將一個(gè)回調(diào)函數(shù)指針傳遞給一個(gè)處理過(guò)程,當(dāng)這個(gè)處理過(guò)程得到執(zhí)行時(shí),回調(diào)預(yù)先定義好的回調(diào)函數(shù)以期實(shí)現(xiàn)激活其他處理程序的目的。不同與回調(diào)函數(shù)機(jī)制,Qt提供了信號(hào)和插槽機(jī)制,信號(hào)是一個(gè)特定的標(biāo)識(shí);一個(gè)槽就是一個(gè)函數(shù),與一般函數(shù)不同,槽函數(shù)既能和信號(hào)關(guān)聯(lián),當(dāng)某個(gè)事件出現(xiàn)時(shí),通過(guò)發(fā)送信號(hào),可以將與之相關(guān)聯(lián)的槽函數(shù)激活,執(zhí)行相應(yīng)代碼。

  2)應(yīng)用程序中用到了哪些控件,列舉2個(gè)并說(shuō)明該控件的特點(diǎn)?(4分)

  答案要點(diǎn):應(yīng)用程序中用到的控件有(1)文本框控件Edit,文本框控件主要用來(lái)顯示或接收用戶的輸入信息。(2)按鈕控件Button,按鈕控件主要響應(yīng)用戶單擊功能。

  3)根據(jù)注釋完成程序中相應(yīng)的語(yǔ)句?(4分)

  (1)setLayout(Layout1);

  (2)connect(Button1, SIGNAL(clicked()), this, SLOT(function()));

  9、 在Linux操作系統(tǒng)下,完成下列任務(wù):

  1、 編程實(shí)現(xiàn)以下功能

  ² 主程序hello.c(打印Hello World!)

  ² 主程序通過(guò)頭文件hello.h調(diào)用message函數(shù)

  ² 頭文件hello.h(聲明message函數(shù))

  ² message函數(shù)由message.c定義(打印This is a message!)

  1、答:

  hello.c:

  # include

  # include

  # include

  # include "head.h"

  int main (int argc,char *argv[])

  {

  printf("Hello World!\n");

  message();

  return 0;

  }

  head.h:

  void message(void);

  message.c:

  # include

  void message (void){

  printf("This is a message!\n");

  }

  10. 用C語(yǔ)言編寫一個(gè)源程序main.c,(1)用以在打開(kāi)當(dāng)前目錄下的文件“test.txt”,如果沒(méi)有創(chuàng)建該文件,并使其具有讀寫屬性,(2)編寫一個(gè)makefile實(shí)現(xiàn)自動(dòng)編譯,生成可執(zhí)行文件main。注:頭文件可忽略。

  1、

  (1)(5分)

  Void main(void)

  {

  int fid;

  fid = open(“./test.txt”,O_RDWR|O_CREAT);

  if(fid==-1)

  {

  Printf(“open or create error \n”);

  exit(0);

  }

  Close(fid);

  }

  (2)(5分)

  objects = main.o

  exec = main

  all:$(objects)

  gcc –o $(exec) $(objects)

  main.o:main.c

  gcc –c main.c

  clean:

  rm –r $(exec) $(objects)

  11、假如你需要設(shè)計(jì)并編寫一個(gè)音頻采集程序。該程序每50ms采集一次數(shù)據(jù),大小為1480個(gè)字節(jié)。為了進(jìn)一步壓縮處理的需要,你需要建立一個(gè)能夠至少保存5次所采集數(shù)據(jù)的緩存,該緩存的大小會(huì)根據(jù)系統(tǒng)的負(fù)載情況動(dòng)態(tài)調(diào)整。請(qǐng)利用你所學(xué)的C語(yǔ)言內(nèi)存管理及相關(guān)數(shù)據(jù)結(jié)構(gòu)的知識(shí),設(shè)計(jì)一個(gè)緩存結(jié)構(gòu),包括其內(nèi)存分配的形式(如堆、棧等)及其組織結(jié)構(gòu)(如數(shù)組、鏈表等)。

  參考答案:

  堆適合大塊連續(xù)內(nèi)存的分配,需要自行管理(2分)

  棧適合小塊局部使用內(nèi)容的分配,程序自動(dòng)管理(2分)

  數(shù)組查找快,但大小固定,而鏈表正好相反。(2分)

  題目需要大容量存儲(chǔ),且需要?jiǎng)討B(tài)改變大小,因此可設(shè)計(jì)為采用動(dòng)態(tài)(堆)分配的鏈表型緩存結(jié)構(gòu)。每個(gè)鏈表節(jié)點(diǎn)為1480B。(4分)

  12、 假定你在目錄/home/arm下有一個(gè)C程序,他由幾個(gè)單獨(dú)的文件組成,而這幾個(gè)文件又分為包含了其他文件,如下圖所示:

文件

包含文件

main.c

stdio.h, table.h

list.c

list.h

symbol.c

symbol.h

table.c

table.h

table.h

symbol.h, list.h

  完成下列任務(wù):

  1. 編寫makefile文件,最終的目標(biāo)文件為hello(交叉編譯器為arm-linux-gcc)

  2. 在目標(biāo)機(jī)上通過(guò)網(wǎng)絡(luò)文件系統(tǒng)掛載/mnt 到宿主機(jī)上的/home/arm目錄

  1、答:

  hello: main.o list.o symbol.o table.o

  gcc -o prog main.o list.o symbol.o table.o

  main.o: main.c table.h symbol.h list.h

  gcc -c -o main.o main.c

  list.o: list.c list.h

  gcc -c -o list.o list.c

  symbol.o: symbol.c symbol.h

  gcc -c -o symbol.o symbol.c

  table.o: table.c table.h symbol.h list.h

  gcc -c -o table.o table.c

  clean:

  rm hello *.o

  2、Mount –t nfs –o noclock 192.168.0.10:/home/armtest/hello /mnt

  13、假如你需要設(shè)計(jì)一個(gè)BootLoader,在具體開(kāi)發(fā)之前,你需要確定哪幾個(gè)主要問(wèn)題?

  參考答案:

  需要考慮的問(wèn)題:(1)與主機(jī)連接的方式(2)硬件CPU類型,如何初始化(3)內(nèi)存空間大小以及如何使用 (4)內(nèi)核運(yùn)行前需要準(zhǔn)備哪些條件(5)BootLoader需要支持幾種模式。(每點(diǎn)各2分)

  14、Linux系統(tǒng)中線程的同步方式有互斥量、信號(hào)量和條件變量等。假設(shè)現(xiàn)在需要設(shè)計(jì)一個(gè)多線程的應(yīng)用程序,試分析一下以上幾種同步方式分別可在什么場(chǎng)合下使用。

  參考答案:

  Mutex互斥量,用于操作某個(gè)臨界資源時(shí)對(duì)該資源上鎖,以實(shí)現(xiàn)互斥地對(duì)獨(dú)占資源的使用(3分)

  Semophore信號(hào)燈,信號(hào)燈內(nèi)有一計(jì)數(shù)器,可以用于對(duì)多個(gè)同類資源的分配。當(dāng)資源用完時(shí),申請(qǐng)資源的線程會(huì)在信號(hào)量上睡眠,有線程釋放資源時(shí),再將該線程喚醒繼續(xù)運(yùn)行。(3分)

  Condition條件變量,條件變量用于等待信號(hào)。當(dāng)一個(gè)線程需要等待某個(gè)信號(hào)時(shí),就可到條件變量上等待,當(dāng)信號(hào)具備時(shí),系統(tǒng)會(huì)喚醒該線程繼續(xù)運(yùn)行。(4分)

  15、進(jìn)程間通信的方式有多種,假設(shè)需要在Linux系統(tǒng)上設(shè)計(jì)本地運(yùn)行的兩個(gè)進(jìn)程,一個(gè)負(fù)責(zé)采集視頻,另一個(gè)負(fù)責(zé)播放。試為兩者設(shè)計(jì)一種數(shù)據(jù)的通信方式。進(jìn)一步考慮當(dāng)兩個(gè)進(jìn)程處于不同機(jī)器上時(shí),需要采用的通信方式。說(shuō)明你的設(shè)計(jì)理由。

  參考答案:

  本地:共享內(nèi)存+信號(hào)量, 適合于大量數(shù)據(jù)傳輸。Linux支持系統(tǒng)V和POSIX的共享內(nèi)存和信號(hào)量。(5分)

  遠(yuǎn)程:Socket+應(yīng)用協(xié)議。適合于跨網(wǎng)絡(luò)的(大量)數(shù)據(jù)傳輸。Linux支持BSD的socket。應(yīng)用層協(xié)議需要自行設(shè)計(jì)。(5分)

【2016年嵌入式軟件助理工程師認(rèn)證考試試題題庫(kù)】相關(guān)文章:

1.2016年嵌入式硬件助理工程師認(rèn)證考試試題題庫(kù)

2.ADOBEphotoshop國(guó)際認(rèn)證題庫(kù)

3.photoshop國(guó)際認(rèn)證題庫(kù)

4.關(guān)于Photoshop認(rèn)證試題題庫(kù)

5.2016年微軟認(rèn)證考試試題庫(kù)及答案

6.2016年Adobe認(rèn)證試題題庫(kù)「Photoshop」

7.IBM公司認(rèn)證試題題庫(kù)(附答案)

8.2017年華為初級(jí)認(rèn)證題庫(kù)