激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

嵌入式C語(yǔ)言面試題(附答案)

時(shí)間:2024-06-15 16:04:45 嵌入式培訓 我要投稿
  • 相關(guān)推薦

嵌入式C語(yǔ)言面試題(附答案)

  1 讀程序段,回答問(wèn)題

嵌入式C語(yǔ)言面試題(附答案)

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

  {

  int c=9,d=0;

  c=c++%5;

  d=c;

  printf("d=%d\n",d);

  return 0;

  }

  a) 寫(xiě)出程序輸出

  b) 在一個(gè)可移植的系統中這種表達式是否存在風(fēng)險?why?

  #include "stdio.h"

  int a=0;

  int b;

  static char c;

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

  {

  char d=4;

  static short e;

  a++;

  b=100;

  c=(char)++a;

  e=(++d)++;

  printf("a=%d, b=%d, c=%d, d= %d, e=%d",a,b,c,d,e);

  return 0;

  }

  a) 寫(xiě)出程序輸出

  b) 編譯器如果安排各個(gè)變量(a,b,c,d)在內存中的布局(eg. stack,heap,data section,bss section),最好用圖形方式描述。

  2 中斷是嵌入式系統中重要的組成部分,這導致了許多編譯開(kāi)發(fā)商提供一種擴展:讓標準C支持中斷,產(chǎn)生了一個(gè)新的關(guān)鍵字__interrupt。下面的代碼就使用了__interrupt關(guān)鍵字去定義了一個(gè)中斷服務(wù)子程序(ISR),請評論以下這段代碼。

  __interrupt double compute_area(double radius)

  {

  double area = PI * radius *radius;

  printf("nArea = %f", area);

  return area;

  }

  3 C/C++基礎知識問(wèn)題

  a) 關(guān)鍵字volatile在編譯時(shí)有什么含義?并給出三個(gè)不同使用場(chǎng)景的例子(可以偽代碼或者文字描述)。

  b) C語(yǔ)言中static關(guān)鍵字的具體作用有哪些 ?

  c) 請問(wèn)下面三種變量聲明有何區別?請給出具體含義

  int const *p;

  int* const p;

  int const* const p;

  4 嵌入式系統相關(guān)問(wèn)題

  a) 對于整形變量A=0x12345678,請畫(huà)出在little endian及big endian的方式下在內存中是如何存儲的。

  b) 在A(yíng)RM系統中,函數調用的時(shí)候,參數是通過(guò)哪種方式傳遞的?

  c) 中斷(interrupt,如鍵盤(pán)中斷)與異常(exception,如除零異常)有何區別?

  5 設周期性任務(wù)P1,P2,P3的周期為T(mén)1,T2,T3分別為100,150,400;執行時(shí)間分別為20,40,100。請設計一種調度算法進(jìn)行任務(wù)調度,滿(mǎn)足任務(wù)執行周期及任務(wù)周期。

  6 優(yōu)先級反轉問(wèn)題在嵌入式系統中是一中嚴重的問(wèn)題,必須給與足夠重視。

  a) 首先請解釋優(yōu)先級反轉問(wèn)題

  b) 很多RTOS提供優(yōu)先級繼承策略(Priority inheritance)和優(yōu)先級天花板策略(Priority ceilings)用來(lái)解決優(yōu)先級反轉問(wèn)題,請討論這兩種策略。

  參考答案:

  1 5

  存在風(fēng)險,因為c=c++%5;這個(gè)表達式對c有兩次修改,行為未定義,c的值不確定

  int a=0; // data section

  int b; // data section

  static char c; // BSS

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

  {

  char d=4; // stack

  static short e; // BSS

  a++;

  b=100;

  c=(char)++a;

  e=(++d)++;

  printf("a=%d, b=%d, c=%d, d= %d, e=%d",a,b,c,d,e);

  return 0;

  }

  a=2,b=100,c=2,d=6,e=5

  2 a)ISR不能返回一個(gè)值;

  b)ISR不能傳遞參數;

  c)浮點(diǎn)一般都是不可重入的;

  d)printf函數有重入和性能上的問(wèn)題。

  3 a) 用volatile關(guān)鍵字定義變量,相當于告訴編譯器,這個(gè)變量的值會(huì )隨時(shí)發(fā)生變化,每次使用時(shí)都需要去內存里

  重新讀取它的值,并不要隨意針對它作優(yōu)化。

  建議使用volatile變量的場(chǎng)所:

  (1) 并行設備的硬件寄存器

  (2) 一個(gè)中斷服務(wù)子程序中會(huì )訪(fǎng)問(wèn)到的非自動(dòng)變量(全局變量)

  (3) 多線(xiàn)程應用中被幾個(gè)任務(wù)共享的變量

  b) 在函數體,一個(gè)被聲明為靜態(tài)的變量在這一函數被調用過(guò)程中維持其值不變。

  在模塊內(但在函數體外),一個(gè)被聲明為靜態(tài)的變量可以被模塊內所用函數訪(fǎng)問(wèn),但不能被模塊外其它函數

  訪(fǎng)問(wèn)。它是一個(gè)本地的全局變量。

  在模塊內,一個(gè)被聲明為靜態(tài)的函數只可被這一模塊內的其它函數調用。那就是,這個(gè)函數被限制在聲明它的

  模塊的本地范圍內使用。

  static全局變量與普通的全局變量有什么區別:static全局變量只初使化一次,防止在其他文件單元中被引用;

  static局部變量和普通局部變量有什么區別:static局部變量只被初始化一次,下一次依據上一次結果值;

  static函數與普通函數有什么區別:static函數在內存中只有一份,普通函數在每個(gè)被調用中維持一份拷貝

  c) 一個(gè)指向常整型數的指針

  一個(gè)指向整型數的常指針

  一個(gè)指向常整型數的常指針

  4

  a) 0x12345678

  little endian big endian 剛好反過(guò)來(lái)

  高地址--〉 0x12 低地址--〉 0x12

  0x34 0x34

  0x56 0x56

  低地址--〉 0x78 高地址--〉 0x78

  b)參數<=4時(shí)候,通過(guò)R0~R3傳遞,>4的通過(guò)壓棧方式傳遞

  c) 異常:在產(chǎn)生時(shí)必須考慮與處理器的時(shí)鐘同步,實(shí)踐上,異常也稱(chēng)為同步中斷。在處理器執行到由于編程失誤而導致的錯誤指令時(shí),或者在執行期間出現特殊情況(如缺頁(yè)),必須靠?jì)群颂幚淼臅r(shí)候,處理器就會(huì )產(chǎn)生一個(gè)異常。

  所謂中斷應該是指外部硬件產(chǎn)生的一個(gè)電信號,從cpu的中斷引腳進(jìn)入,打斷cpu當前的運行;

  所謂異常,是指軟件運行中發(fā)生了一些必須作出處理的事件,cpu自動(dòng)產(chǎn)生一個(gè)陷入來(lái)打斷當前運行,轉入異常處理流程。

  異步與同步的區別`

  5

  6 高優(yōu)先級任務(wù)需要等待低優(yōu)先級任務(wù)釋放資源,而低優(yōu)先級任務(wù)又正在等待中等優(yōu)先級任務(wù)的現象叫做優(yōu)先級反轉

  優(yōu)先級繼承策略(Priority inheritance):繼承現有被阻塞任務(wù)的最高優(yōu)先級作為其優(yōu)先級,任務(wù)退出臨界區,恢

  復初始優(yōu)先級。

  優(yōu)先級天花板策略(Priority ceilings):控制訪(fǎng)問(wèn)臨界資源的信號量的優(yōu)先級天花板。

  優(yōu)先級繼承策略對任務(wù)執行流程的影響相對教小,因為只有當高優(yōu)先級任務(wù)申請已被低優(yōu)先級任務(wù)占有的臨界資源

  這一事實(shí)發(fā)生時(shí),才抬升低優(yōu)先級任務(wù)的優(yōu)先

【嵌入式C語(yǔ)言面試題(附答案)】相關(guān)文章:

精選C++面試題及答案05-23

2016年c++經(jīng)典面試題及答案03-19

2016年嵌入式面試C語(yǔ)言試題「精選」03-07

2016年嵌入式開(kāi)發(fā)C語(yǔ)言問(wèn)題詳解03-11

2024年嵌入式面試試題(附答案)10-23

2016年嵌入式工程師面試題及答案「精選」03-07

計算機C語(yǔ)言試題及答案02-25

Linux系統工程師面試題(附答案)03-02

嵌入式開(kāi)發(fā)中C語(yǔ)言中結構體解讀201603-11

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频