chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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)開發(fā)的注釋和調(diào)試代碼

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

掃碼添加小助手

加入工程師交流群

嵌入式系統(tǒng)開發(fā)軟件需要時(shí)間——通常比最初預(yù)期的要多。

造成這種情況的一個(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)問題??偟膩碚f,它容易出錯(cuò),應(yīng)該避免。

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

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

poYBAGK-UJCAMQwNAABSx6SLl5E799.png

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

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

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

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

poYBAGK-UJiAGl8JAAB058cer_Q934.png

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

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

poYBAGK-UJ6AIHqOAABsiJtyfsA217.png

這個(gè)雙重否定看起來很笨拙,但是這個(gè)符號(hào)用于控制標(biāo)準(zhǔn)的assert()宏。程序員需要定義符號(hào)來抑制調(diào)試模式。我感謝 Michael Barr,他在嵌入式 C 編碼標(biāo)準(zhǔn)中提高了我對(duì)這種方法的認(rèn)識(shí)。

審核編輯:郭婷

聲明:本文內(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)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5198

    文章

    20413

    瀏覽量

    333451
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2123

    瀏覽量

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

    關(guān)注

    1

    文章

    1672

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

    。 · ?醫(yī)療設(shè)備?:如心電圖儀、血壓計(jì)等。 開發(fā)工具和技術(shù) 嵌入式開發(fā)過程中常用的工具包括: · ?集成開發(fā)環(huán)境(IDE)?:用于編寫、編譯和調(diào)試
    發(fā)表于 01-12 16:13

    從小白到大牛:Linux嵌入式系統(tǒng)開發(fā)的完整指南

    從小白到大牛:Linux嵌入式系統(tǒng)開發(fā)的完整指南 一、小白入門:搭建 Linux 嵌入式開發(fā)的認(rèn)知地基? 對(duì)于零基礎(chǔ)學(xué)習(xí)者,首先要打破 “嵌入式開發(fā)高深莫測(cè)”的誤區(qū)。Linux
    發(fā)表于 12-16 10:42

    使用xmake+zig更優(yōu)雅的進(jìn)行嵌入式系統(tǒng)開發(fā)

    引言在嵌入式系統(tǒng)開發(fā)領(lǐng)域,構(gòu)建工具的穩(wěn)定性與可維護(hù)性對(duì)項(xiàng)目長期發(fā)展至關(guān)重要。嵌入式項(xiàng)目通常需要針對(duì)不同硬件平臺(tái)進(jìn)行交叉編譯,每個(gè)平臺(tái)都需要依賴特定的構(gòu)建工具鏈,環(huán)境搭建復(fù)雜。隨著LLVM工具鏈的普及
    的頭像 發(fā)表于 11-30 10:04 ?4483次閱讀
    使用xmake+zig更優(yōu)雅的進(jìn)行<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)開發(fā)</b>

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

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

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

    混合信號(hào)示波器,憑借其創(chuàng)新的硬件架構(gòu)與智能分析功能,為嵌入式系統(tǒng)調(diào)試提供了全新的解決方案。本文將從技術(shù)特性、應(yīng)用場(chǎng)景及實(shí)戰(zhàn)案例三個(gè)維度,深入探討該示波器在嵌入式
    的頭像 發(fā)表于 08-27 17:38 ?652次閱讀
    是德示波器MSOX3052T在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>中的應(yīng)用

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

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

    明遠(yuǎn)智睿SSD2351:開啟嵌入式系統(tǒng)開發(fā)新時(shí)代

    在當(dāng)今科技飛速發(fā)展的時(shí)代,嵌入式系統(tǒng)已經(jīng)廣泛應(yīng)用于各個(gè)領(lǐng)域,從智能家居到工業(yè)自動(dòng)化,從智能交通到醫(yī)療設(shè)備,嵌入式系統(tǒng)無處不在。而開發(fā)板作為
    的頭像 發(fā)表于 07-15 15:47 ?531次閱讀

    明遠(yuǎn)智睿SSD2351:嵌入式系統(tǒng)開發(fā)的卓越之選

    嵌入式系統(tǒng)開發(fā)這一充滿挑戰(zhàn)與機(jī)遇的領(lǐng)域,一款出色的開發(fā)板就如同開發(fā)者手中的利器,能助力他們披荊斬棘,創(chuàng)造出令人驚嘆的成果。明遠(yuǎn)智睿SSD2351便是這樣一款集性能、功能與易用性于一身
    的頭像 發(fā)表于 07-15 15:46 ?599次閱讀

    嵌入式軟件開發(fā)常用的軟件有哪些?

    文檔等非常方便,因?yàn)樗檎?,定位,彩色顯示等功能非常強(qiáng)大。開發(fā)人員會(huì)當(dāng)成源代碼閱讀工具使用。 4. Keil uVision5 Keil 5 軟件是一款功能強(qiáng)大的嵌入式系統(tǒng)開發(fā)工具
    發(fā)表于 07-03 17:06

    泰克MSO2024B混合信號(hào)示波器在嵌入式系統(tǒng)開發(fā)中的應(yīng)用

    隨著嵌入式系統(tǒng)設(shè)計(jì)的復(fù)雜度不斷提升,工程師在調(diào)試和驗(yàn)證過程中面臨著越來越多的挑戰(zhàn)?;旌闲盘?hào)示波器(MSO)作為集成了模擬信號(hào)與數(shù)字信號(hào)分析功能的測(cè)試工具,為嵌入式
    的頭像 發(fā)表于 06-16 15:40 ?800次閱讀
    泰克MSO2024B混合信號(hào)示波器在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)開發(fā)</b>中的應(yīng)用

    STM32開發(fā)入門進(jìn)階必備!《STM32嵌入式系統(tǒng)開發(fā)—基于STM32CubeMX和HAL庫》新書發(fā)布!

    近日,由華清遠(yuǎn)見教育科技集團(tuán)精心編撰的教育部高等學(xué)校電子信息類專業(yè)教學(xué)指導(dǎo)委員會(huì)規(guī)劃教材、普通高等教育電子信息類專業(yè)系列教材——《STM32嵌入式系統(tǒng)開發(fā)—基于STM32CubeMX和HAL庫》重磅
    的頭像 發(fā)表于 04-03 14:54 ?1866次閱讀
    STM32<b class='flag-5'>開發(fā)</b>入門進(jìn)階必備!《STM32<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)開發(fā)</b>—基于STM32CubeMX和HAL庫》新書發(fā)布!

    嵌入式系統(tǒng)開發(fā)圣經(jīng)【干貨】

    內(nèi)容包括:嵌入式系統(tǒng)的介紹、嵌入式SoC硬件系統(tǒng)概論、嵌入式系統(tǒng)軟件開發(fā)。適用于產(chǎn)品主管、
    發(fā)表于 03-12 13:58

    BlackBerry QNX推出通用嵌入式開發(fā)平臺(tái)

    Platform,GEDP),這一全新平臺(tái)旨在加速機(jī)器人、醫(yī)療和工業(yè)自動(dòng)化等通用嵌入式行業(yè)的高性能、可擴(kuò)展、網(wǎng)絡(luò)信息安全的系統(tǒng)開發(fā)
    的頭像 發(fā)表于 03-11 16:04 ?1160次閱讀

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

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