misra

    1熱度

    2回答

    在C文件中定義的所有函數的原型聲明被認爲是一個好的編程。它也符合MISRA指南。 但是我看到開發人員忽略了它在使用之前定義的函數的原型聲明 - 看起來原型聲明在這種情況下是不必要的。 那麼有人可以告訴我,如果這是一個MISRA違規?

    4熱度

    4回答

    通常我使用C構建函數,它檢查一些參數並返回錯誤代碼。 當我發現錯誤時,哪種停止值檢查的最佳方法是什麼? 第一個例子: ErrorCode_e myCheckFunction(some params) { ErrorCode_e error = CHECK_FAILED; if(foo == bar) { if(foo_1 == bar_1) {

    2熱度

    2回答

    第13.6條規定:sizeof運算()運算符的操作數不應包含任何 表達其有潛力側affects.I很茫然,以確定如何操作 副作用會影響sizeof()運算符的結果。 有人可以用這個例子解釋嗎? void f(int32_t n) { size_t s; s = sizeof(int32_t[n]); //Compliant s = sizeof(int32_t[n+

    2熱度

    1回答

    這是從MISRA C MISRA有關規則16-0-2 ++ 2008年的指導方針 Macros shall only be #define'd or #undef'd in the global namespace. 我明白這個規則,但我polyspace MISRA檢查工具抱怨說,以下包括在年初宣佈後衛文件爲不合規。我猜如果這個文件本身被包含在另一個命名空間中,會發生這種情況,但是我的頭文件

    2熱度

    2回答

    我在下面的C代碼運行靜態代碼分析2004年MISRA和MISRA 2012: BOOL_TYPE Strings_Are_Equal(const char *s1, const char *s2) { BOOL_TYPE result = True; const char *str1 = s1; const char *str2 = s2; if (NU

    3熱度

    2回答

    我通常是木工,而不是開發人員。我正在爲嵌入式系統學習C/C++,同時試圖使我的一些工具自動化,以節省我幾個小時的重複性工作。 現在,它的樂趣和順利,我花了大概數百小時的編碼/學習,並已經節省了更多的時間*。 因爲我想繼續購買和遵循MISRA編碼規則的「強制性好主意」? MISRA包含什麼?只有編碼規則或一些提示才能使它更安全? 那些工具可能是危險的(畢竟他們砍木頭,而人體抵抗力差得多......)

    -1熱度

    2回答

    我有一個回調函數的數組。一個函數只能在定義「SOMETHING」時使用。它是正確的有#ifdef來一個數組裏面,如: void (*const array[])(void) = { function_callback1, function_callback2, function_callback3, function_callback4, #i

    4熱度

    3回答

    我的靜態分析器是投擲以下警告: MCPP規則5-0-3:該複合物的表達隱式轉換爲 不同必不可少類型 爲以下代碼: void func(const uint32_t arg) { //32U has underlying type uint8_t const uint32_t u32a = arg % 32U; //warning issued in this line

    2熱度

    2回答

    我已經寫了下面的代碼段,其MISRA不喜歡: UartPtr->C &= ((uint8_t)(~SIO_C2_SBK)); 與 #define SIO_C2_SBK ((uint8_t)0x01u) 和UartPtr被定義爲 UartPtr = (UartStruct*) 0x12345678; /* I know that this is also a violation of MIS

    -1熱度

    1回答

    有沒有人在使用分佈式版本控制工具如Mercurial,Git,Bazaar等開發項目時使用高完整性軟件舞臺的經驗,我想如果你有開發航空電子軟件,要說DO-178B標準? 是否有禁止使用現代DVCS的規則?