<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦>創業指南>職場>面試題>

        嵌入式軟件工程師面試題:Volatile

        時間: 敏敏644 分享

          Volatile

           關鍵字volatile有什么含意 并給出三個不同的例子。

          一個定義為volatile的變量是說這變量可能會被意想不到地改變,這樣,編譯器就不會去假設這個變量的值了。精確地說就是,優化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而不是使用保存在寄存器里的備份。下面是volatile變量的幾個例子:

          1). 并行設備的硬件寄存器(如:狀態寄存器)

          2). 一個中斷服務子程序中會訪問到的非自動變量(Non-automatic variables)

          3). 多線程應用中被幾個任務共享的變量

          回答不出這個問題的人是不會被雇傭的。我認為這是區分C程序員和嵌入式系統程序員的最基本的問題。嵌入式系統程序員經常同硬件、中斷、RTOS等等打交道,所用這些都要求volatile變量。不懂得volatile內容將會帶來災難。

          假設被面試者正確地回答了這是問題(嗯,懷疑這否會是這樣),我將稍微深究一下,看一下這家伙是不是直正懂得volatile完全的重要性。

          1). 一個參數既可以是const還可以是volatile嗎?解釋為什么。

          2). 一個指針可以是volatile 嗎?解釋為什么。

          3). 下面的函數有什么錯誤:

          int square(volatile int *ptr)

          {

          return *ptr * *ptr;

          }

          下面是答案:

          1). 是的。一個例子是只讀的狀態寄存器。它是volatile因為它可能被意想不到地改變。它是const因為程序不應該試圖去修改它。

          2). 是的。盡管這并不很常見。一個例子是當一個中服務子程序修該一個指向一個buffer的指針時。

          3). 這段代碼的有個惡作劇。這段代碼的目的是用來返指針*ptr指向值的平方,但是,由于*ptr指向一個volatile型參數,編譯器將產生類似下面的代碼:

          int square(volatile int *ptr)

          {

          int a,b;

          a = *ptr;

          b = *ptr;

          return a * b;

          }

          由于*ptr的值可能被意想不到地該變,因此a和b可能是不同的。結果,這段代碼可能返不是你所期望的平方值!正確的代碼如下:

          long square(volatile int *ptr)

          {

          int a;

          a = *ptr;

          return a * a;

          }

        203989 主站蜘蛛池模板: 成人精品一区日本无码网| 国产天天射| 深夜在线观看免费av| 午夜爽爽爽男女污污污网站| 天美传媒xxxxhd videos3| 五月天天天综合精品无码| 农村国产毛片一区二区三区女| 日韩V欧美V中文在线| 久久香蕉国产线看观看式| 免费看的日韩精品黄色片| 欧美奶涨边摸边做爰视频| 免费国产一级 片内射老| 久热爱精品视频线路一| 国产人成激情视频在线观看| 国产一区二区不卡91| 日本欧美v大码在线| 和艳妇在厨房好爽在线观看| 亚洲欧美国产日韩天堂区| 国产黄色一区二区三区四区| 久久精品国产亚洲AⅤ无码| 欧美性猛交xxxx免费看| 亚洲婷婷六月的婷婷| 少妇特黄a一区二区三区| 97精品伊人久久大香线蕉APP| 色狠狠色噜噜AV一区| 人妻少妇偷人无码视频| 少妇被粗大的猛烈进出69影院一 | 99精品视频在线观看免费专区| 麻豆成人精品国产免费| 欧美、另类亚洲日本一区二区 | 中文字幕av国产精品| 欧美、另类亚洲日本一区二区| 无码人妻精品一区二区三区下载| 国产无遮挡吃胸膜奶免费看| 老熟妇仑乱换频一区二区| 精品无码老熟妇magnet| 亚日韩精品一区二区三区| 久久中文字幕无码一区二区| 毛片av在线尤物一区二区 | 久久婷婷五月综合97色直播| 亚洲av成人无码网站|