日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

文檔——代碼中的注釋

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

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

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

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

文檔

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

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

臨時(shí)代碼刪除

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

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

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

pYYBAGKwKjSALOWlAABZWkqWh5w343.png

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

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

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

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

pYYBAGKwKjqAJ8EaAAB-nOlqiY0385.png

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

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

poYBAGKwKkKASFBzAAB3g2IwyBc961.png

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

審核編輯:郭婷

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

    關(guān)注

    22

    文章

    2131

    瀏覽量

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

    關(guān)注

    30

    文章

    4977

    瀏覽量

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

    關(guān)注

    1

    文章

    1673

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    嵌入式驅(qū)動(dòng)開(kāi)發(fā),需要掌握哪些技能?

    有經(jīng)驗(yàn)的老司機(jī)都知道,做嵌入式驅(qū)動(dòng)開(kāi)發(fā)需要掌握一系列的技能,包含編程、硬件、操作系統(tǒng)調(diào)試等多個(gè)方面。 1、硬件知識(shí)熟悉原理圖:能看懂原理圖以及各種元器件的含義,以及PCB布局等。 了解
    發(fā)表于 01-20 16:46

    什么是嵌入式應(yīng)用開(kāi)發(fā)?

    、實(shí)現(xiàn)和部署,還包括硬件選擇、軟件設(shè)計(jì)、測(cè)試、集成和維護(hù)等流程?。 定義和背景 嵌入式應(yīng)用開(kāi)發(fā)是指將軟件部署到嵌入式系統(tǒng),這些系統(tǒng)廣泛
    發(fā)表于 01-12 16:13

    系統(tǒng)嵌入式的學(xué)習(xí)路線

    的知識(shí)太多,太雜,太廣,很多嵌入式初學(xué)者陷入嵌入式知識(shí)的海洋,東學(xué)一點(diǎn),西學(xué)一點(diǎn),找不到學(xué)習(xí)的方向。 我從事嵌入式開(kāi)發(fā)工作有10年,嵌入式
    發(fā)表于 12-16 07:49

    什么是嵌入式操作系統(tǒng)

    、嵌入式 OS 的核心作用(嵌入式開(kāi)發(fā)中最實(shí)用的 3 個(gè)功能) 1. 多任務(wù)管理: 裸機(jī)開(kāi)發(fā)的痛點(diǎn):所有功能寫(xiě)在一個(gè)main函數(shù)的循環(huán)里,代碼臃腫、邏輯混亂,一個(gè)功能出問(wèn)題會(huì)影響整個(gè)系統(tǒng)
    發(fā)表于 12-09 10:33

    嵌入式系統(tǒng)的定義和應(yīng)用領(lǐng)域

    嵌入式系統(tǒng),簡(jiǎn)而言之,就是一種專(zhuān)為特定設(shè)備或裝置設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)。它們通常配備一個(gè)嵌入式處理器,其控制程序被存儲(chǔ)在ROM。這些
    發(fā)表于 11-17 06:49

    用普源MSO5000系列混合信號(hào)示波器高效調(diào)試嵌入式系統(tǒng)

    嵌入式系統(tǒng)調(diào)試,精準(zhǔn)的信號(hào)捕獲與分析是解決問(wèn)題的關(guān)鍵。普源MSO5000系列混合信號(hào)示波器憑借其高性能參數(shù)與多功能集成特性,為工程師提供了高效調(diào)試
    的頭像 發(fā)表于 11-13 11:57 ?441次閱讀
    用普源MSO5000系列混合信號(hào)示波器高效<b class='flag-5'>調(diào)試</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>

    嵌入式開(kāi)發(fā)的關(guān)鍵點(diǎn)介紹

    嵌入式開(kāi)發(fā)在現(xiàn)代科技扮演著非常重要的角色。隨著物聯(lián)網(wǎng)的發(fā)展,嵌入式系統(tǒng)的需求也越來(lái)越大。嵌入式開(kāi)發(fā)不僅需要開(kāi)發(fā)人員具備深入的硬件知識(shí)和編程
    發(fā)表于 11-13 08:12

    用是德MSO-X 3024T高效調(diào)試嵌入式系統(tǒng)的實(shí)戰(zhàn)指南

    嵌入式系統(tǒng)開(kāi)發(fā),精準(zhǔn)調(diào)試是攻克技術(shù)難題的關(guān)鍵。是德科技MSO-X 3024T示波器憑借其創(chuàng)新的觸控交互與多功能集成設(shè)計(jì),為嵌入式
    的頭像 發(fā)表于 10-17 11:51 ?426次閱讀
    用是德MSO-X 3024T高效<b class='flag-5'>調(diào)試</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>的實(shí)戰(zhàn)指南

    嵌入式達(dá)到什么水平才能就業(yè)?

    工具定位問(wèn)題具備嵌入式軟件模塊化設(shè)計(jì)能力:能按功能劃分代碼模塊,編寫(xiě)規(guī)范的頭文件與源文件,實(shí)現(xiàn)模塊間低耦合調(diào)用會(huì)使用Git 進(jìn)行版本管理:能提交代碼、解決沖突、回滾版本,熟悉敏捷開(kāi)發(fā)流程
    發(fā)表于 09-15 10:20

    是德示波器MSOX3052T在嵌入式系統(tǒng)的應(yīng)用

    在現(xiàn)代電子系統(tǒng)設(shè)計(jì),嵌入式系統(tǒng)已成為智能設(shè)備與物聯(lián)網(wǎng)的核心。面對(duì)日益復(fù)雜的硬件架構(gòu)與軟件算法,調(diào)試工具的性能直接決定了產(chǎn)品開(kāi)發(fā)周期與最終可
    的頭像 發(fā)表于 08-27 17:38 ?821次閱讀
    是德示波器MSOX3052T在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的應(yīng)用

    嵌入式工程師為什么要學(xué)QT?

    Qt對(duì)嵌入式工程師來(lái)說(shuō),真的很重要嗎? Qt是一個(gè)跨平臺(tái)的C++應(yīng)用程序開(kāi)發(fā)框架,非常適合嵌入式系統(tǒng)的開(kāi)發(fā),Qt在嵌入式開(kāi)發(fā)具有很重要的作
    發(fā)表于 08-14 15:15

    入行嵌入式應(yīng)該怎么準(zhǔn)備?

    知識(shí): 一、C/C++編程C/C++是嵌入式系統(tǒng)開(kāi)發(fā)中最常用的編程語(yǔ)言。熟練掌握C/C++語(yǔ)言將使你能夠理解和編寫(xiě)底層驅(qū)動(dòng)程序、操作系統(tǒng)以及與硬件交互的代碼。對(duì)于
    發(fā)表于 08-06 10:34

    嵌入式系統(tǒng),F(xiàn)LASH 的程序代碼必須搬到 RAM 運(yùn)行嗎?

    嵌入式系統(tǒng)里,F(xiàn)LASH 的程序代碼并非必須搬到 RAM 運(yùn)行,這得由硬件配置、實(shí)際性能需求和應(yīng)用場(chǎng)景共同決定。就像很多低端單片機(jī),無(wú)論
    的頭像 發(fā)表于 08-06 10:19 ?1549次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>,F(xiàn)LASH <b class='flag-5'>中</b>的程序<b class='flag-5'>代碼</b>必須搬到 RAM <b class='flag-5'>中</b>運(yùn)行嗎?

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

    嵌入式系統(tǒng)的開(kāi)發(fā)與調(diào)試,泰克示波器 MSO58 混合信號(hào)示波器憑借其強(qiáng)大的功能和靈活的特性,成為工程師不可或缺的調(diào)試利器。掌握其核心
    的頭像 發(fā)表于 07-01 16:28 ?772次閱讀
    泰克示波器 MSO58 混合信號(hào)示波器在<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)試的高效實(shí)踐

    一、引言:嵌入式系統(tǒng)調(diào)試的挑戰(zhàn)與示波器的必要性 嵌入式系統(tǒng)作為核心控制單元廣泛應(yīng)用于汽車(chē)、醫(yī)療設(shè)備、工業(yè)自動(dòng)化等領(lǐng)域,其開(kāi)發(fā)涉及硬件設(shè)計(jì)、軟
    的頭像 發(fā)表于 06-20 13:45 ?895次閱讀
    普源示波器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>的高效實(shí)踐
    汕头市| 晋城| 无为县| 友谊县| 宝坻区| 京山县| 延津县| 册亨县| 石城县| 耿马| 西林县| 喀喇沁旗| 大田县| 金湖县| 佛学| 东兴市| 邓州市| 鹰潭市| 监利县| 安溪县| 平南县| 南通市| 高陵县| 长春市| 太和县| 舟山市| 建水县| 马龙县| 时尚| 新闻| 江口县| 泸州市| 钟祥市| 昌图县| 克拉玛依市| 原阳县| 青海省| 溧阳市| 遵义市| 肥乡县| 绥芬河市|