国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

嵌入式系統開發的注釋和調試代碼

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

掃碼添加小助手

加入工程師交流群

嵌入式系統開發軟件需要時間——通常比最初預期的要多。

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

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

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

文檔——代碼中的注釋

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

調試/跟蹤代碼——可以根據需要打開和關閉

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

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

文檔

每個人都知道評論是個好主意,但我們都很懶惰。然而,這種努力是值得的。舊式/* 。.. */ C注釋還可以,但我覺得 C++ 行尾[ //。.. ]的變化更清晰。它們仍然需要小心使用。例如,像這樣的代碼:

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

臨時代碼刪除

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

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

實現此結果的最佳方法是使用預處理器指令,因此:

poYBAGK-UJCAMQwNAABSx6SLl5E799.png

在任何情況下,“關閉”的代碼序列都不應包含在任何正在考慮發布的代碼中。

調試/跟蹤代碼

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

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

poYBAGK-UJiAGl8JAAB058cer_Q934.png

因此,當定義符號DEBUG_TRACE時,將包含調試代碼。

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

poYBAGK-UJ6AIHqOAABsiJtyfsA217.png

這個雙重否定看起來很笨拙,但是這個符號用于控制標準的assert()宏。程序員需要定義符號來抑制調試模式。我感謝 Michael Barr,他在嵌入式 C 編碼標準中提高了我對這種方法的認識。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5198

    文章

    20449

    瀏覽量

    334128
  • C++
    C++
    +關注

    關注

    22

    文章

    2124

    瀏覽量

    77132
  • 編譯器
    +關注

    關注

    1

    文章

    1672

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式驅動開發,需要掌握哪些技能?

    有經驗的老司機都知道,做嵌入式驅動開發需要掌握一系列的技能,包含編程、硬件、操作系統、調試等多個方面。 1、硬件知識熟悉原理圖:能看懂原理圖以及各種元器件的含義,以及PCB布局
    發表于 01-20 16:46

    什么是嵌入式應用開發

    。 · ?醫療設備?:如心電圖儀、血壓計等。 開發工具和技術 嵌入式開發過程中常用的工具包括: · ?集成開發環境(IDE)?:用于編寫、編譯和調試
    發表于 01-12 16:13

    從小白到大牛:Linux嵌入式系統開發的完整指南

    從小白到大牛:Linux嵌入式系統開發的完整指南 一、小白入門:搭建 Linux 嵌入式開發的認知地基? 對于零基礎學習者,首先要打破 “嵌入式開發高深莫測”的誤區。Linux
    發表于 12-16 10:42

    使用xmake+zig更優雅的進行嵌入式系統開發

    引言在嵌入式系統開發領域,構建工具的穩定性與可維護性對項目長期發展至關重要。嵌入式項目通常需要針對不同硬件平臺進行交叉編譯,每個平臺都需要依賴特定的構建工具鏈,環境搭建復雜。隨著LLVM工具鏈的普及
    的頭像 發表于 11-30 10:04 ?4539次閱讀
    使用xmake+zig更優雅的進行<b class='flag-5'>嵌入式</b><b class='flag-5'>系統開發</b>

    用是德MSO-X 3024T高效調試嵌入式系統的實戰指南

    嵌入式系統開發中,精準調試是攻克技術難題的關鍵。是德科技MSO-X 3024T示波器憑借其創新的觸控交互與多功能集成設計,為嵌入式系統
    的頭像 發表于 10-17 11:51 ?306次閱讀
    用是德MSO-X 3024T高效<b class='flag-5'>調試</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>的實戰指南

    是德示波器MSOX3052T在嵌入式系統中的應用

    混合信號示波器,憑借其創新的硬件架構與智能分析功能,為嵌入式系統調試提供了全新的解決方案。本文將從技術特性、應用場景及實戰案例三個維度,深入探討該示波器在嵌入式
    的頭像 發表于 08-27 17:38 ?682次閱讀
    是德示波器MSOX3052T在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>中的應用

    入行嵌入式應該怎么準備?

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

    明遠智睿SSD2351:開啟嵌入式系統開發新時代

    在當今科技飛速發展的時代,嵌入式系統已經廣泛應用于各個領域,從智能家居到工業自動化,從智能交通到醫療設備,嵌入式系統無處不在。而開發板作為
    的頭像 發表于 07-15 15:47 ?556次閱讀

    明遠智睿SSD2351:嵌入式系統開發的卓越之選

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

    嵌入式軟件開發常用的軟件有哪些?

    文檔等非常方便,因為它查找,定位,彩色顯示等功能非常強大。開發人員會當成源代碼閱讀工具使用。 4. Keil uVision5 Keil 5 軟件是一款功能強大的嵌入式系統開發工具
    發表于 07-03 17:06

    Linux嵌入式和單片機嵌入式的區別?

    區別 單片機嵌入式系統和Linux嵌入式系統是兩種不同的嵌入式系統開發方式,它們在應用領域、
    發表于 06-20 09:46

    泰克MSO2024B混合信號示波器在嵌入式系統開發中的應用

    隨著嵌入式系統設計的復雜度不斷提升,工程師在調試和驗證過程中面臨著越來越多的挑戰?;旌闲盘柺静ㄆ鳎∕SO)作為集成了模擬信號與數字信號分析功能的測試工具,為嵌入式
    的頭像 發表于 06-16 15:40 ?838次閱讀
    泰克MSO2024B混合信號示波器在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統開發</b>中的應用

    STM32開發入門進階必備!《STM32嵌入式系統開發—基于STM32CubeMX和HAL庫》新書發布!

    近日,由華清遠見教育科技集團精心編撰的教育部高等學校電子信息類專業教學指導委員會規劃教材、普通高等教育電子信息類專業系列教材——《STM32嵌入式系統開發—基于STM32CubeMX和HAL庫》重磅
    的頭像 發表于 04-03 14:54 ?1938次閱讀
    STM32<b class='flag-5'>開發</b>入門進階必備!《STM32<b class='flag-5'>嵌入式</b><b class='flag-5'>系統開發</b>—基于STM32CubeMX和HAL庫》新書發布!

    嵌入式系統開發圣經【干貨】

    內容包括:嵌入式系統的介紹、嵌入式SoC硬件系統概論、嵌入式系統軟件開發。適用于產品主管、
    發表于 03-12 13:58

    BlackBerry QNX推出通用嵌入式開發平臺

    Platform,GEDP),這一全新平臺旨在加速機器人、醫療和工業自動化等通用嵌入式行業的高性能、可擴展、網絡信息安全的系統開發。
    的頭像 發表于 03-11 16:04 ?1194次閱讀