色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

現代編譯器的可讀性勝過調試

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Colin Walls ? 2022-07-01 09:10 ? 次閱讀

編寫代碼時,您的首要任務應該是可讀性。大量時間花在調試和維護代碼上,通常遠遠超過最初編寫代碼所花費的時間。因此,使該過程高效是必不可少的。考慮到未來人類讀者的需求(可能是你,當然!)比試圖讓代碼“高效”更重要——這項工作主要可以留給現代編譯器。

這種考慮意味著代碼應該非常仔細地格式化和對齊,并且語言結構應該盡可能簡單和透明。有許多已發布的指南可以幫助解決這些問題。但是,創建可讀代碼并不止于此。

當你編譯代碼時,編程語言被翻譯成機器指令。這是顯而易見的。然而,編譯器實際接收的是一個字符流;有些是實際代碼,但可能有一些不打算翻譯的塊,其他文本可能僅供人類使用:

文檔——代碼中的注釋

臨時刪除的代碼——調試過程的一部分,但它可能會持續存在

特殊調試/跟蹤代碼

每一個的實現都會對可讀性產生一些影響。

文檔

每個人都知道評論是個好主意,但我們大多數人都很懶惰。但是,一些努力是非常值得的。舊式/*.。.*/注釋符號是可以接受的,但新的行尾//。..形式更清晰。仍然需要護理。例如:

int number; // input count

char c; // single character buffer

char buffer[99]; // the input line

很難跟上。對齊就是一切:

int number; // input count

char c; // single character buffer

char buffer[99]; // the input line

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

臨時代碼刪除

在軟件開發過程中,想要對編譯器“隱藏”部分代碼——將其關閉——并不少見。執行此操作的傳統方法是“注釋掉”——在代碼前加/* ,在后加*/。雖然做起來很快,但它很容易失效,因為編譯器不一定支持注釋嵌套。較新的//表示法稍微好一點,但應用和刪除很繁瑣,并且仍然容易出錯。

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

#if 0

#endif

Debug/Trace code

A particular kind of temporarily visible code is instrumentation – extra code added for debugging and/or tracing. Although modern debuggers and tracing tools can do a remarkable job, sometimes instrumenting the code is the only way to glean visibility and figure out exactly what is happening.

The usual way to accommodate this need is using pre-processor directives, as before, but using a symbol to switch them on and off:

#ifdef DEBUG_TRACE

#endif

So, when the symbol DEBUG_TRACE is defined, the debug code is included.

A slightly different approach is to code it like this:

#ifndef NDEBUG

#endif

Although this double negative does seem confusing, some consistency is introduced, as this symbol is used to enable the standard assert() macro. The symbol needs to be defined to suppress debug mode.

審核編輯:郭婷

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

    關注

    68

    文章

    19535

    瀏覽量

    231855
  • 編譯器
    +關注

    關注

    1

    文章

    1645

    瀏覽量

    49463
收藏 人收藏

    評論

    相關推薦

    什么樣的代碼會被編譯器優化

    現在的編譯器有多智能,可能你辛辛苦苦寫的代碼,在編譯器看來就是幾句廢話,直接被刪除掉。
    的頭像 發表于 01-16 16:38 ?278次閱讀

    Triton編譯器與GPU編程的結合應用

    Triton編譯器簡介 Triton編譯器是一種針對并行計算優化的編譯器,它能夠自動將高級語言代碼轉換為針對特定硬件優化的低級代碼。Triton編譯器的核心優勢在于其能夠識別并行模式,
    的頭像 發表于 12-25 09:13 ?458次閱讀

    Triton編譯器如何提升編程效率

    現代軟件開發中,編譯器扮演著至關重要的角色。它們不僅將高級語言代碼轉換為機器可執行的代碼,還通過各種優化技術提升程序的性能。Triton 編譯器作為一種先進的編譯器,通過多種方式提升
    的頭像 發表于 12-25 09:12 ?441次閱讀

    Triton編譯器在高性能計算中的應用

    高性能計算(High-Performance Computing,HPC)是現代科學研究和工程計算中不可或缺的一部分。隨著計算需求的不斷增長,對計算資源的要求也越來越高。Triton編譯器作為一種
    的頭像 發表于 12-25 09:11 ?531次閱讀

    Triton編譯器的優化技巧

    現代計算環境中,編譯器的性能對于軟件的運行效率至關重要。Triton 編譯器作為一個先進的編譯器框架,提供了一系列的優化技術,以確保生成的代碼既高效又適應不同的硬件架構。 1. 指令
    的頭像 發表于 12-25 09:09 ?456次閱讀

    Triton編譯器的優勢與劣勢分析

    Triton編譯器作為一種新興的深度學習編譯器,具有一系列顯著的優勢,同時也存在一些潛在的劣勢。以下是對Triton編譯器優勢與劣勢的分析: 優勢 高效性能優化 : Triton編譯器
    的頭像 發表于 12-25 09:07 ?649次閱讀

    Triton編譯器在機器學習中的應用

    1. Triton編譯器概述 Triton編譯器是NVIDIA Triton推理服務平臺的一部分,它負責將深度學習模型轉換為優化的格式,以便在NVIDIA GPU上高效運行。Triton編譯器支持
    的頭像 發表于 12-24 18:13 ?616次閱讀

    Triton編譯器支持的編程語言

    Triton編譯器支持的編程語言主要包括以下幾種: 一、主要編程語言 Python :Triton編譯器通過Python接口提供了對Triton語言和編譯器的訪問,使得用戶可以在Python環境中
    的頭像 發表于 12-24 17:33 ?611次閱讀

    Triton編譯器與其他編譯器的比較

    Triton編譯器與其他編譯器的比較主要體現在以下幾個方面: 一、定位與目標 Triton編譯器 : 定位:專注于深度學習中最核心、最耗時的張量運算的優化。 目標:提供一個高度抽象、靈活、高效
    的頭像 發表于 12-24 17:25 ?617次閱讀

    Triton編譯器功能介紹 Triton編譯器使用教程

    Triton 是一個開源的編譯器前端,它支持多種編程語言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一個可擴展和可定制的編譯器框架,允許開發者添加新的編程語言特性和優化技術
    的頭像 發表于 12-24 17:23 ?1000次閱讀

    Keil編譯器優化方法

    我們都知道,代碼是可以通過編譯器優化的,有的時候,為了提高運行速度或者減少代碼尺寸,會開啟優化選項。
    的頭像 發表于 10-23 16:35 ?1078次閱讀
    Keil<b class='flag-5'>編譯器</b>優化方法

    深入淺出系列之代碼可讀性

    ”,這是對我最大的鼓勵。 一、老生常談,到底啥是可讀性 一句話:見名知其義。有人說好的代碼必然有清晰完整的注釋,我不否認;也有人說代碼即注釋,是代碼簡潔之道的最高境界,我也不否認。但我都不完全接受,如果照搬前者,有
    的頭像 發表于 08-09 16:00 ?339次閱讀

    AI編譯器技術剖析

    隨著人工智能技術的飛速發展,AI編譯器作為一種新興的編譯技術逐漸進入人們的視野。AI編譯器不僅具備傳統編譯器的功能,如將高級語言編寫的源代碼轉換為機器可執行的代碼,還融入了人工智能技術
    的頭像 發表于 07-17 18:28 ?1973次閱讀

    人工智能編譯器與傳統編譯器的區別

    人工智能編譯器(AI編譯器)與傳統編譯器在多個方面存在顯著的差異。這些差異主要體現在設計目標、功能特性、優化策略、適用范圍以及技術復雜等方面。以下是對兩者區別的詳細探討,旨在全面解析
    的頭像 發表于 07-17 18:19 ?2338次閱讀

    Meta發布基于Code Llama的LLM編譯器

    近日,科技巨頭Meta在其X平臺上正式宣布推出了一款革命的LLM編譯器,這一模型家族基于Meta Code Llama構建,并融合了先進的代碼優化和編譯器功能。LLM編譯器的推出,標
    的頭像 發表于 06-29 17:54 ?1626次閱讀
    主站蜘蛛池模板: 战狼4在线观看完免费完整版 | 无码国产伦一区二区三区视频 | 亚洲精品国产精麻豆久久99 | 爆操日本美女 | 公和我做好爽添厨房中文字幕 | 黄子佼81岁父亲现状曝光 | 黄得让人湿的片段 | 欧美亚洲视频在线二区 | 亚洲高清在线精品一区 | 哒哒哒影院在线观看免费高清 | 国产成人免费高清激情视频 | 久久精品国产99欧美精品亚洲 | 欧美同志高清vivoeso | 色琪琪丁香婷婷综合久久 | 扒开双腿疯进出爽爽爽动态图 | 亚洲欲色欲色XXXXX在线AV | 亚洲欧美日韩综合影院 | 亚洲偷自拍精品视频在线观看 | 一个人的免费高清影院 | 51国产偷自视频在线视频播放 | 国产曰批试看免费视频播放免费 | 亚洲 自拍 欧洲 视频二区 | 日本19禁啪啪吃奶大尺度 | 色婷婷亚洲五月 | 久久亚洲精品中文字幕 | 国产99久久久国产精品免费看 | 粉嫩极品国产在线观看 | av在线不卡中文网 | 99热在线精品视频 | 久热久热精品在线观看 | 99久久精品国内 | 娇妻在床上迎合男人 | 精品爽爽久久久久久蜜臀 | 大肥婆丰满大肥奶bbw肥 | 黄色片软件大全 | 日韩AV无码一区二区三区不卡毛片 | 国产成人免费网站在线观看 | 国产精品高清免费网站 | 大桥未久在线看 | 麻豆一区二区三区蜜桃免费 | 青草国产超碰人人添人人碱 |