在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Colin Walls ? 2022-06-20 16:04 ? 次閱讀

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

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

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

文檔——代碼中的注釋

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

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

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

我將看看我們對(duì)編譯器隱藏的東西。

文檔

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

并且不要使用標(biāo)簽。它們不是便攜式的。

臨時(shí)代碼刪除

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

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

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

pYYBAGKwKjSALOWlAABZWkqWh5w343.png

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

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

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

促進(jìn)這一點(diǎn)的常用方法是使用預(yù)處理器指令,因此:

pYYBAGKwKjqAJ8EaAAB-nOlqiY0385.png

因此,當(dāng)定義符號(hào)DEBUG_TRACE時(shí),將包含調(diào)試代碼。

一個(gè)稍微不同的方法是這樣編碼:

poYBAGKwKkKASFBzAAB3g2IwyBc961.png

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

審核編輯:郭婷

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

    關(guān)注

    22

    文章

    2108

    瀏覽量

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

    關(guān)注

    30

    文章

    4788

    瀏覽量

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

    關(guān)注

    1

    文章

    1634

    瀏覽量

    49134
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

    嵌入式系統(tǒng)怎么學(xué)?

    開發(fā)工具:熟悉常用的嵌入式系統(tǒng)開發(fā)工具,包括集成開發(fā)環(huán)境(IDE)、編譯器、調(diào)試器(如Keil、IAREmbedded Workbench、Eclipse)等。 5、實(shí)時(shí)操作系統(tǒng)(R
    發(fā)表于 07-02 10:10

    如何提升嵌入式編程能力?

    代碼以提高性能,包括減少內(nèi)存使用、提高處理速度等。 16. 調(diào)試技巧:掌握嵌入式系統(tǒng)調(diào)試技巧,包括使用
    發(fā)表于 06-21 10:01

    嵌入式系統(tǒng)的外設(shè)器件選擇

    ,都可視系統(tǒng)的實(shí)際需求來進(jìn)行選擇。本文將為您介紹上述外設(shè)器件的類型與選擇的考慮要素。 存儲(chǔ)器的種類眾多且特性不同 存儲(chǔ)器 在嵌入式系統(tǒng),[存儲(chǔ)器]是一個(gè)關(guān)鍵的器件,它用于存儲(chǔ)程序
    的頭像 發(fā)表于 05-05 09:38 ?915次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>的外設(shè)器件選擇

    入門嵌入式系統(tǒng)這些知識(shí)你知道嗎?

    嵌入式系統(tǒng)是一種專用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分。通常,嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM
    發(fā)表于 05-03 09:54 ?579次閱讀

    如何成為一名嵌入式C語言高手?

    系統(tǒng),如何調(diào)試和優(yōu)化程序,如何處理實(shí)時(shí)性要求等。同時(shí),還可以學(xué)習(xí)如何使用調(diào)試工具和硬件仿真器來輔助調(diào)試和測(cè)試。 四、積極參與開源項(xiàng)目和技術(shù)
    發(fā)表于 04-07 16:03

    如何成為一名嵌入式C語言高手?

    系統(tǒng),如何調(diào)試和優(yōu)化程序,如何處理實(shí)時(shí)性要求等。同時(shí),還可以學(xué)習(xí)如何使用調(diào)試工具和硬件仿真器來輔助調(diào)試和測(cè)試。 四、積極參與開源項(xiàng)目和技術(shù)
    發(fā)表于 03-25 14:12

    嵌入式fpga是什么意思

    嵌入式FPGA是指將FPGA技術(shù)集成到嵌入式系統(tǒng)的一種解決方案。嵌入式系統(tǒng)是一種為特定應(yīng)用而設(shè)
    的頭像 發(fā)表于 03-15 14:29 ?1262次閱讀

    嵌入式系統(tǒng)發(fā)展前景?

    設(shè)備、健康監(jiān)測(cè)等領(lǐng)域有著廣泛的應(yīng)用前景。隨著人們對(duì)健康的重視程度不斷提高,嵌入式系統(tǒng)將更為深入地應(yīng)用于醫(yī)療設(shè)備和健康護(hù)理,實(shí)現(xiàn)個(gè)人健康管理的智能化和實(shí)時(shí)化。 汽車電子和自動(dòng)駕駛是嵌入式
    發(fā)表于 02-22 14:09

    嵌入式學(xué)習(xí)步驟

    硬件組件。 (4).開發(fā)固件:編寫嵌入式系統(tǒng)的固件,這是嵌入式系統(tǒng)的軟件部分。固件負(fù)責(zé)控制硬件并執(zhí)行特定任務(wù)。 (5).調(diào)試和測(cè)試:在將
    發(fā)表于 02-02 15:24
    主站蜘蛛池模板: 2016天天干| 天天狠狠弄夜夜狠狠躁·太爽了| 色无欲天天天影视综合网| 狠狠色狠狠色综合日日32| 日本加勒比在线视频| 能可以直接看的av网址| 国产伦精品一区二区三区在线观看| 欧美亚洲h在线一区二区| 人人射人人| 失禁h啪肉尿出来高h健身房| 毛片在线播放网址| 在线观看网站国产| 精品久久久久久国产免费了| 欧美色影视| 一级网站片| 黄黄网址| 香港三澳门三日本三级| 丁香在线视频| 国产手机视频在线| 国产精品一级香蕉一区| 久久青草视频| a看片| 亚州1区2区3区4区产品乱码2021| 成 人色 网 站 欧美大片在线观看| 久久精品免费看| 亚洲 欧美 综合| 91精品欧美激情在线播放| 中文字幕一区二区三区精品| 亚洲黄色小视频| 久久狠色噜噜狠狠狠狠97| 国产综合在线视频| 天堂电影免费在线观看| 午夜免费视频福利集合100| 精品国产麻豆免费人成网站| 狠狠色欧美亚洲狠狠色www| 啪啪免费视频网站| 欧美成人久久| 福利影院在线| 性生交大片免费一级| 午夜在线观看免费观看大全| 美女扒开尿囗给男生桶爽|