一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

如何使用C++語法中的volatile

C語言編程學習基地 ? 來源:CSDN博客 ? 作者:小哈龍 ? 2021-09-09 09:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

volatile

volatile int i = 10;

volatile 關鍵字是一種類型修飾符,用它聲明的類型變量表示可以被某些編譯器未知的因素(操作系統(tǒng)、硬件、其它線程等)更改。所以使用 volatile 告訴編譯器不應對這樣的對象進行優(yōu)化。

volatile 關鍵字聲明的變量,每次訪問時都必須從內存中取出值(沒有被 volatile 修飾的變量,可能由于編譯器的優(yōu)化,從 CPU 寄存器中取值)

const 可以是 volatile (如只讀的狀態(tài)寄存器)

指針可以是 volatile

assert()

斷言,是宏,而非函數(shù)。assert 宏的原型定義在 《assert.h》(C)、《cassert》(C++)中,其作用是如果它的條件返回錯誤,則終止程序執(zhí)行??梢酝ㄟ^定義 NDEBUG 來關閉 assert,但是需要在源代碼的開頭,include 《assert.h》 之前。

assert() 使用

#define NDEBUG // 加上這行,則 assert 不可用#include 《assert.h》

assert( p != NULL ); // assert 不可用

sizeof()

sizeof 對數(shù)組,得到整個數(shù)組所占空間大小。

sizeof 對指針,得到指針本身所占空間大小。

#pragma pack(n)

設定結構體、聯(lián)合以及類成員變量以 n 字節(jié)方式對齊

#pragma pack(n) 使用

#pragma pack(push) // 保存對齊狀態(tài)#pragma pack(4) // 設定為 4 字節(jié)對齊

struct test{ char m1; double m4; int m3;};

#pragma pack(pop) // 恢復對齊狀態(tài)

責任編輯:haq

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

    關注

    3

    文章

    4381

    瀏覽量

    64936
  • C++
    C++
    +關注

    關注

    22

    文章

    2119

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    主流的 MCU 開發(fā)語言為什么是 C 而不是 C++?

    在單片機的地界兒里,C語言穩(wěn)坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩不轉。先說內存這道坎兒。您當stm32f4的256kRAM
    的頭像 發(fā)表于 05-21 10:33 ?454次閱讀
    主流的 MCU 開發(fā)語言為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    創(chuàng)建了用于OpenVINO?推理的自定義C++和Python代碼,從C++代碼獲得的結果與Python代碼不同是為什么?

    創(chuàng)建了用于OpenVINO?推理的自定義 C++ 和 Python* 代碼。 在兩個推理過程中使用相同的圖像和模型。 從 C++ 代碼獲得的結果與 Python* 代碼不同。
    發(fā)表于 03-06 06:22

    基于OpenHarmony標準系統(tǒng)的C++公共基礎類庫案例:ThreadPoll

    1、程序簡介該程序是基于OpenHarmony標準系統(tǒng)的C++公共基礎類庫的線程池處理:ThreadPoll。本案例完成如下工作:創(chuàng)建1個線程池,設置該線程池內部有1024個線程空間。啟動5個線程
    的頭像 發(fā)表于 02-10 18:09 ?376次閱讀
    基于OpenHarmony標準系統(tǒng)的<b class='flag-5'>C++</b>公共基礎類庫案例:ThreadPoll

    Spire.XLS for C++組件說明

    Spire.XLS for C++ 是一款專業(yè)的 C++ Excel 組件,可以用在各種 C++ 框架和應用程序。Spire.XLS for C+
    的頭像 發(fā)表于 01-14 09:40 ?633次閱讀
    Spire.XLS for <b class='flag-5'>C++</b>組件說明

    EE-112:模擬C++的類實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《EE-112:模擬C++的類實現(xiàn).pdf》資料免費下載
    發(fā)表于 01-03 15:15 ?0次下載
    EE-112:模擬<b class='flag-5'>C++</b><b class='flag-5'>中</b>的類實現(xiàn)

    AKI跨語言調用庫神助攻C/C++代碼遷移至HarmonyOS NEXT

    )開發(fā)框架。它極大地簡化了JS與C/C++之間的跨語言訪問,為開發(fā)者提供了一種邊界性編程體驗友好的解決方案。通過AKI,開發(fā)者可以使用讓代碼更易讀的語法糖,實現(xiàn)JS與C/
    發(fā)表于 01-02 17:08

    同樣是函數(shù),在CC++中有什么區(qū)別

    同樣是函數(shù),在 CC++ 中有什么區(qū)別? 第一個返回值。 C語言的函數(shù)可以不寫返回值類型,編譯器會默認為返回 int。 但是 C++ 的函數(shù),除了構造和析構這兩個特殊的函數(shù),必須
    的頭像 發(fā)表于 11-29 10:25 ?919次閱讀

    C7000 C/C++優(yōu)化指南用戶手冊

    電子發(fā)燒友網(wǎng)站提供《C7000 C/C++優(yōu)化指南用戶手冊.pdf》資料免費下載
    發(fā)表于 11-09 15:00 ?0次下載
    <b class='flag-5'>C</b>7000 <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>優(yōu)化指南用戶手冊

    TMS320C6000優(yōu)化C/C++編譯器v8.3.x

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000優(yōu)化C/C++編譯器v8.3.x.pdf》資料免費下載
    發(fā)表于 11-01 09:35 ?1次下載
    TMS320<b class='flag-5'>C</b>6000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器v8.3.x

    C語言和C++結構體的區(qū)別

    同樣是結構體,看看在C語言和C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?779次閱讀

    C7000優(yōu)化C/C++編譯器

    電子發(fā)燒友網(wǎng)站提供《C7000優(yōu)化C/C++編譯器.pdf》資料免費下載
    發(fā)表于 10-30 09:45 ?0次下載
    <b class='flag-5'>C</b>7000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器

    使用OpenVINO GenAI API在C++構建AI應用程序

    許多桌面應用程序是使用 C++ 開發(fā)的,而將生成式AI(GenAI)功能集成到這些應用程序可能會很具有挑戰(zhàn)性,尤其是因為使用像 Hugging Face 這樣的 Python 庫的復雜性。C++
    的頭像 發(fā)表于 10-12 09:36 ?1139次閱讀
    使用OpenVINO GenAI API在<b class='flag-5'>C++</b><b class='flag-5'>中</b>構建AI應用程序

    ostream在c++的用法

    ostream 是 C++ 標準庫中一個非常重要的類,它位于 頭文件(實際上,更常見的是通過包含 頭文件來間接包含 ,因為 包含了 和 )。 ostream 類及其派生類(如 std::cout
    的頭像 發(fā)表于 09-20 15:11 ?1950次閱讀

    OpenVINO2024 C++推理使用技巧

    很多人都使用OpenVINO新版的C++ 或者Python的SDK,都覺得非常好用,OpenVINO2022之后的版本C++ SDK做了大量的優(yōu)化與整理,已經(jīng)是非常貼近開發(fā)的使用習慣與推理方式。與OpenCV的Mat對象對接方式更是幾乎無縫對接,非常的方便好用。
    的頭像 發(fā)表于 07-26 09:20 ?1586次閱讀

    ModusToolbox 3.2在c代碼包含c++代碼的正確步驟是什么?

    使用 ModusToolbox 3.2 我有一個用純 C 語言編寫的 XMC4700 項目。 我正在嘗試添加一些 C++ 函數(shù),并將其合并到我的原始代碼。 我可以構建獨立的 .cpp/.hpp
    發(fā)表于 07-23 08:21