新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > C++在嵌入式應(yīng)用中的安全問題

C++在嵌入式應(yīng)用中的安全問題

作者: 時間:2011-05-28 來源:網(wǎng)絡(luò) 收藏

  文檔中所有規(guī)則的書寫格式如下:

文檔中所有規(guī)則的書寫格式

  每條規(guī)則之后都有詳細的解釋,并給出了一些具體的程序語句作為例子。下面分別針對上述3種規(guī)則類別,進行舉例說明。

  規(guī)則0-1-1(強制)工程中不允許包含無法觸及的代碼

工程中不允許包含無法觸及的代碼

  上述例子里,條件判斷中的賦值語句和return語句之后的自增語句都是在任何條件下都無法觸及的死代碼,不允許這樣使用。

  規(guī)則0-1-2 (強制) 工程中不允許含有永遠不會被執(zhí)行的路徑

  enum ec{RED,BLUE,GREEN)col;

  if(col=GREEN) //不符合規(guī)則,條件永遠為真

  {

  //Will always get,here

  }

  else

  {

 ?。a永遠不會到達這里

  }

  由于枚舉類型有默認的初始賦值0,1,2,…,故col永遠≤GREEN。上述例子中,含有任何條件下都不會被執(zhí)行的路徑,不允許這樣使用。

  規(guī)則5-2-10(推薦) 自增(++)/自減(--)運算符不應(yīng)與表達式中其他運算符混合使用諸如下面的例程將導(dǎo)致理解上的混淆以及結(jié)果的不確定,在程序設(shè)計時應(yīng)盡可能避免。

  u8a=++u8b+u8c-; //不符合規(guī)則

  規(guī)則0-4-2 (不容討論) 對于浮點運算(floating-point)算法的使用,必須給出記錄

  的使用浮點算法需要具有較高的數(shù)字分析技能和對編譯器及硬件對象的深入了解。因此在使用浮點算法時,必須先進行分析:是否必須使用它、采取的方法是否可行、過程是否得到了正確的執(zhí)行,并將上述結(jié)果做出記錄。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


關(guān)鍵詞: 問題 安全 應(yīng)用 嵌入式

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉