99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式系統(tǒng)設(shè)計中的注釋和調(diào)試代碼

星星科技指導員 ? 來源:嵌入式計算設(shè)計 ? 作者:Colin Walls ? 2022-06-20 16:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

造成這種情況的一個原因是,雖然初始編碼可能進展迅速,但調(diào)試周期似乎是無休止的。以后,代碼的維護是不可避免的,而且需要比預期更多的時間。這是因為在嘗試修改之前準確理解代碼的功能會產(chǎn)生開銷。

這一觀察的結(jié)果是,應(yīng)高度重視代碼的可讀性。易于閱讀的代碼不太可能出現(xiàn)錯誤,因此減少了調(diào)試時間。如果代碼易于理解,則更易于維護。因此,請始終牢記人類讀者——畢竟,它可能是你。(我聽說它建議你假設(shè)你的代碼未來的維護者是一個知道你家庭地址的精神病患者。)

代碼由兩部分組成:編譯器需要看到的東西(C 語句和聲明)和需要對編譯器隱藏的文本(主要是供人類讀者使用的)。隱藏的東西主要是:

文檔——代碼中的注釋

暫時刪除的代碼——調(diào)試過程中不可避免的一部分

調(diào)試/跟蹤代碼——可以根據(jù)需要打開和關(guān)閉

有趣的是,如果您取出純粹為人類讀者閱讀的內(nèi)容(其中還包括使用有意義的標識符和額外的空格,如換行符),結(jié)果是完全不可讀的代碼。一些軟件公司利用這一點來分發(fā)源代碼,同時保護他們的知識產(chǎn)權(quán)。

我將看看我們對編譯器隱藏的東西。

文檔

每個人都知道評論是個好主意,但我們都很懶惰。然而,這種努力是值得的。舊式/* 。.. */ C注釋還可以,但我覺得 C++ 行尾[ //。.. ]的變化更清晰。它們?nèi)匀恍枰⌒氖褂?。例如,像這樣的代碼:

并且不要使用標簽。它們不是便攜式的。

臨時代碼刪除

在調(diào)試和測試代碼的過程中,能夠暫時“關(guān)閉”一段代碼通常很有用。許多程序員通過將/*放在開頭,將*/放在結(jié)尾來“注釋掉”代碼以實現(xiàn)此結(jié)果。這是快速而骯臟的,但經(jīng)常無法達到所需的結(jié)果。許多編譯器不支持嵌套注釋,因此,如果代碼已經(jīng)被注釋,就會出現(xiàn)問題。總的來說,它容易出錯,應(yīng)該避免。

使用 C++ 風格的//注釋符號——即,將//放在每行的開頭——稍微好一點,但應(yīng)用起來非常乏味,而且在刪除時也可能容易出錯。

實現(xiàn)此結(jié)果的最佳方法是使用預處理器指令,因此:

pYYBAGKwKjSALOWlAABZWkqWh5w343.png

在任何情況下,“關(guān)閉”的代碼序列都不應(yīng)包含在任何正在考慮發(fā)布的代碼中。

調(diào)試/跟蹤代碼

另一種臨時代碼是為了便于在調(diào)試時輸出或記錄額外信息而包含的。盡管現(xiàn)代調(diào)試器和此類工具可能非常有效,但有時檢測代碼仍然是弄清楚到底發(fā)生了什么的最佳方式?,F(xiàn)代開發(fā)工具是如此之快,以至于重建以創(chuàng)建啟用調(diào)試的映像并不是一個嚴重的開銷。

促進這一點的常用方法是使用預處理器指令,因此:

pYYBAGKwKjqAJ8EaAAB-nOlqiY0385.png

因此,當定義符號DEBUG_TRACE時,將包含調(diào)試代碼。

一個稍微不同的方法是這樣編碼:

poYBAGKwKkKASFBzAAB3g2IwyBc961.png

這個雙重否定看起來很笨拙,但是這個符號用于控制標準的assert()宏。程序員需要定義符號來抑制調(diào)試模式。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2119

    瀏覽量

    75349
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70786
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1662

    瀏覽量

    50241
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    泰克示波器 MSO58 混合信號示波器在嵌入式系統(tǒng)調(diào)試的核心技巧

    嵌入式系統(tǒng)的開發(fā)與調(diào)試,泰克示波器 MSO58 混合信號示波器憑借其強大的功能和靈活的特性,成為工程師不可或缺的調(diào)試利器。掌握其核心
    的頭像 發(fā)表于 07-01 16:28 ?135次閱讀
    泰克示波器 MSO58 混合信號示波器在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>調(diào)試</b><b class='flag-5'>中</b>的核心技巧

    普源示波器MSO5074在嵌入式系統(tǒng)聯(lián)合調(diào)試的高效實踐

    一、引言:嵌入式系統(tǒng)調(diào)試的挑戰(zhàn)與示波器的必要性 嵌入式系統(tǒng)作為核心控制單元廣泛應(yīng)用于汽車、醫(yī)療設(shè)備、工業(yè)自動化等領(lǐng)域,其開發(fā)涉及硬件設(shè)計、軟
    的頭像 發(fā)表于 06-20 13:45 ?174次閱讀
    普源示波器MSO5074在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>聯(lián)合<b class='flag-5'>調(diào)試</b><b class='flag-5'>中</b>的高效實踐

    Python在嵌入式系統(tǒng)的應(yīng)用場景

    你想把你的職業(yè)生涯提升到一個新的水平?Python在嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開發(fā)更多地依賴于C和C++語言,Python的優(yōu)勢在于其簡潔的語法、豐富的庫和快速的開發(fā)周期,這使得它在某些
    的頭像 發(fā)表于 03-19 14:10 ?723次閱讀

    泰克MDO32示波器在嵌入式系統(tǒng)調(diào)試的關(guān)鍵技術(shù)分析

    高性能的混合域示波器,在嵌入式系統(tǒng)調(diào)試中發(fā)揮著關(guān)鍵作用。本文將深入分析泰克MDO32示波器在嵌入式系統(tǒng)調(diào)
    的頭像 發(fā)表于 03-19 13:51 ?340次閱讀
    泰克MDO32示波器在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>調(diào)試</b><b class='flag-5'>中</b>的關(guān)鍵技術(shù)分析

    嵌入式系統(tǒng)代碼優(yōu)化與壓縮技術(shù)

    在當今數(shù)字化時代,嵌入式系統(tǒng)廣泛應(yīng)用于各個領(lǐng)域,從智能家居設(shè)備到工業(yè)控制系統(tǒng),從汽車電子到可穿戴設(shè)備,它們無處不在。而在嵌入式系統(tǒng)開發(fā)
    發(fā)表于 02-26 15:00

    如何提高嵌入式代碼質(zhì)量?

    并提升代碼質(zhì)量。 遵循良好的軟件工程實踐 良好的軟件工程實踐是提高代碼質(zhì)量的基礎(chǔ),特別是在嵌入式系統(tǒng)更為重要。以下是幾個關(guān)鍵點:
    發(fā)表于 01-15 10:48

    MPU在嵌入式系統(tǒng)的應(yīng)用

    一、MPU的基本功能 微處理器單元(MPU)是嵌入式系統(tǒng)的大腦,負責執(zhí)行程序指令、處理數(shù)據(jù)和控制其他硬件設(shè)備。MPU的基本功能包括: 指令執(zhí)行:MPU能夠從存儲器讀取指令,解碼這些
    的頭像 發(fā)表于 01-08 09:26 ?922次閱讀

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計的計算機系統(tǒng),它們通常嵌入在所控制的設(shè)備
    的頭像 發(fā)表于 12-09 09:38 ?979次閱讀

    HAL庫在嵌入式系統(tǒng)的應(yīng)用

    HAL庫(Hardware Abstraction Layer Library,硬件抽象層庫)在嵌入式系統(tǒng)扮演著至關(guān)重要的角色。以下是HAL庫在嵌入式
    的頭像 發(fā)表于 12-02 11:32 ?2124次閱讀

    mmc卡在嵌入式系統(tǒng)的使用

    隨著科技的發(fā)展,嵌入式系統(tǒng)在我們的日常生活扮演著越來越重要的角色。從智能手機到家用電器,再到工業(yè)控制系統(tǒng),嵌入式
    的頭像 發(fā)表于 11-25 09:58 ?1186次閱讀

    PROM器件在嵌入式系統(tǒng)的應(yīng)用

    可編程性 :用戶可以使用特定設(shè)備對PROM進行一次性編程,將所需的數(shù)據(jù)或程序代碼寫入其中。 只讀性 :一旦編程完成,PROM的內(nèi)容變?yōu)橹蛔x,無法再被修改,這保證了存儲數(shù)據(jù)的穩(wěn)定性和可靠性。 非易失性 :即使斷電,PROM存儲的數(shù)據(jù)也不會丟失,這使得它成為
    的頭像 發(fā)表于 11-23 11:22 ?1335次閱讀

    使用高級事件觸發(fā)調(diào)試高速嵌入式微處理器系統(tǒng)的實時問題

    電子發(fā)燒友網(wǎng)站提供《使用高級事件觸發(fā)調(diào)試高速嵌入式微處理器系統(tǒng)的實時問題.pdf》資料免費下載
    發(fā)表于 10-28 10:36 ?0次下載
    使用高級事件觸發(fā)<b class='flag-5'>調(diào)試</b>高速<b class='flag-5'>嵌入式</b>微處理器<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的實時問題

    什么是嵌入式?一文讀懂嵌入式主板

    在現(xiàn)代科技浪潮,嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運行的核心力量。那么,究竟什么是嵌入式嵌入式
    的頭像 發(fā)表于 10-16 10:14 ?2625次閱讀

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計算機硬件,其設(shè)計旨在嵌入特定設(shè)備執(zhí)行專門任務(wù)。
    的頭像 發(fā)表于 09-30 10:05 ?1630次閱讀

    嵌入式系統(tǒng)的實時操作系統(tǒng)

    嵌入式RTOS是嵌入式應(yīng)用程序運行、相互交互和與外界通信的底層軟件機制。在本節(jié),您將了解嵌入式軟件開發(fā)人員使用哪些流行RTOS以及它們運行的嵌入式
    的頭像 發(fā)表于 08-20 11:28 ?893次閱讀