在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

介紹一種高效率的c語(yǔ)言狀態(tài)機(jī)

冬至配餃子 ? 來(lái)源:最后一個(gè)bug ? 作者:bug菌 ? 2022-08-12 09:07 ? 次閱讀

/***高效率狀態(tài)機(jī)***/

狀態(tài)機(jī)對(duì)于有一定編程經(jīng)驗(yàn)的程序員一定會(huì)用到,因?yàn)閷?duì)于我們的各種各樣的模塊他們都會(huì)有各種狀態(tài),其他模塊都會(huì)根據(jù)這些狀態(tài)和數(shù)據(jù)進(jìn)行處理;同時(shí)在網(wǎng)絡(luò)編程方面也會(huì)根據(jù)網(wǎng)絡(luò)狀態(tài)和消息類型進(jìn)行相應(yīng)處理等等方面狀態(tài)機(jī)的使用是非常廣泛的,我們通常稱這種狀態(tài)機(jī)為有限狀態(tài)機(jī)—FSM

在進(jìn)行有限狀態(tài)機(jī)編寫之前,我們需要進(jìn)行狀態(tài)的梳理,
最好是能畫UML圖或者是簡(jiǎn)單的畫一些狀態(tài)圖,那么我們平時(shí)都是如何實(shí)現(xiàn)這個(gè)狀態(tài)機(jī)框架的呢?

1)用判斷語(yǔ)句進(jìn)行狀態(tài)機(jī)的分支


if(statue == STATUE_1)sStatue1Process();

else if(statue == STATUE_2)sStatue2Process();

else if(statue == STATUE_3)sStatue3Process();

elsesStatue4Process();


上面通過(guò)if/else分支了4種狀態(tài),分別每種狀態(tài)有各自的處理辦法process函數(shù),那么狀態(tài)之間如何轉(zhuǎn)換呢?在我們的狀態(tài)處理函數(shù)里面,會(huì)
通過(guò)處理當(dāng)前狀態(tài)的相關(guān)事務(wù),然后通過(guò)相關(guān)條件改變statue,如statue=STATUE_2,從而下一次進(jìn)入對(duì)應(yīng)的狀態(tài)中!

那么上面我們是通過(guò)分支來(lái)進(jìn)行處理,同樣我們也可以使用switch來(lái)進(jìn)行處理!
至于選擇if/else還是switch,我們之前有個(gè)文章進(jìn)行分析,大家可以前往閱讀,這兩種分支語(yǔ)句對(duì)于不太多的狀態(tài)仍然是首選的,而對(duì)于我們的狀態(tài)較多,那么可能通過(guò)判斷會(huì)浪費(fèi)一些時(shí)間,為了提高效率,我們提出了第二種方法。

2)用函數(shù)指針高效提高狀態(tài)機(jī)效率

參考代碼如下:

pYYBAGL1p5GABeHLAAFYvFCT2hU881.png

poYBAGL1p5iANUklAAEKVJLXQxg843.png

pYYBAGL1p56AbI1MAACoAODWsEc134.png

按照預(yù)期輸出了最終的結(jié)果,該辦法類似于用空間換了時(shí)間,把狀態(tài)和處理進(jìn)行了直接綁定,這樣會(huì)使用掉一些內(nèi)存,不過(guò)對(duì)于整個(gè)軟件代碼而言是不值一提的!

優(yōu)化:我們可能對(duì)于狀態(tài)處理還需要傳入一些數(shù)據(jù),我們可以優(yōu)化函數(shù)指針讓其變成含參數(shù)的形式!等等優(yōu)化版本大同小異!(哈哈,上面的代碼手機(jī)打得,風(fēng)格寫得不好大家請(qǐng)見(jiàn)諒)


審核編輯:劉清


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7626

    瀏覽量

    139574
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    493

    瀏覽量

    27960
  • fsm
    fsm
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    12924
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MDD高效率整流管的工作原理:如何降低導(dǎo)通損耗?

    在高頻、高功率應(yīng)用中,高效率整流管的導(dǎo)通損耗直接影響電路的整體能效和熱管理。MDD作為專業(yè)的二極管制造商,其高效率整流管因低正向壓降(VF)和快速恢復(fù)特性廣泛應(yīng)用于開關(guān)電源(SMPS)、PFC電路
    的頭像 發(fā)表于 04-03 10:55 ?200次閱讀
    MDD<b class='flag-5'>高效率</b>整流管的工作原理:如何降低導(dǎo)通損耗?

    一種新型高效率的服務(wù)器電源系統(tǒng)

    一種新型高效率的服務(wù)器電源系統(tǒng)
    發(fā)表于 12-19 16:45 ?1次下載

    Simulink中的狀態(tài)機(jī)建模方法 Simulink數(shù)據(jù)可視化與分析功能

    。 1.2 使用狀態(tài)機(jī)圖(Stateflow) Stateflow是Simulink的個(gè)附加產(chǎn)品,專門用于設(shè)計(jì)和模擬狀態(tài)機(jī)
    的頭像 發(fā)表于 12-12 09:27 ?2172次閱讀

    深入理解C語(yǔ)言:循環(huán)語(yǔ)句的應(yīng)用與優(yōu)化技巧

    在程序設(shè)計(jì)中,我們常常需要重復(fù)執(zhí)行某段代碼。為了提高效率和簡(jiǎn)化代碼,循環(huán)語(yǔ)句應(yīng)運(yùn)而生。C語(yǔ)言作為門經(jīng)典的編程
    的頭像 發(fā)表于 12-07 01:11 ?429次閱讀
    深入理解<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>:循環(huán)語(yǔ)句的應(yīng)用與優(yōu)化技巧

    MCU編程語(yǔ)言和開發(fā)環(huán)境介紹

    MCU編程語(yǔ)言 MCU編程語(yǔ)言是用于編寫MCU程序的高級(jí)編程語(yǔ)言,它們使得開發(fā)者能夠更高效地開發(fā)嵌入式應(yīng)用程序。以下是些常用的MCU編程
    的頭像 發(fā)表于 11-01 11:51 ?1791次閱讀

    高效率PA設(shè)計(jì)的雙重挑戰(zhàn)

    效率”在射頻功率放大器(PA)設(shè)計(jì)中占據(jù)舉足輕重的地位。高效率PA設(shè)計(jì)的兩大核心:PA的“Class”設(shè)計(jì)以及功率合成架構(gòu)。然而,在實(shí)際的射頻前端系統(tǒng)中,PA并非孤立存在,而是與整個(gè)系統(tǒng)緊密相連。系統(tǒng)層面的設(shè)計(jì)方案對(duì)PA功耗有著深遠(yuǎn)影響。
    的頭像 發(fā)表于 10-18 15:02 ?871次閱讀
    <b class='flag-5'>高效率</b>PA設(shè)計(jì)的雙重挑戰(zhàn)

    如何高效率選出高能效的電感?

    高感量的電感來(lái)平滑紋波電流實(shí)現(xiàn)效率最高,即損耗最佳,需要確保在通過(guò)工作電流時(shí),電感器不能磁芯飽和,也不能繞組過(guò)熱。本文介紹了如何評(píng)估電感器的損耗,以及高效率電感器的設(shè)計(jì)與快速選型方法。
    的頭像 發(fā)表于 09-20 12:43 ?570次閱讀
    如何<b class='flag-5'>高效率</b>選出高能效的電感?

    觸發(fā)器和狀態(tài)機(jī)的關(guān)系是什么

    觸發(fā)器和狀態(tài)機(jī)在數(shù)字電路設(shè)計(jì)中有著緊密的關(guān)系,它們共同構(gòu)成了時(shí)序邏輯電路的基礎(chǔ),用于實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、處理和傳輸。
    的頭像 發(fā)表于 08-12 11:24 ?731次閱讀

    高效率二極管如何識(shí)別判斷

    高效率二極管在在電源管理和電能轉(zhuǎn)換領(lǐng)域,主要特點(diǎn)是具有低正向壓降和快速的開關(guān)速度,從而提高電路的整體效率高效率二極管的基本特性高效率
    的頭像 發(fā)表于 08-12 09:51 ?739次閱讀
    <b class='flag-5'>高效率</b>二極管如何識(shí)別判斷

    c類放大器最高效率是什么

    C類放大器是一種無(wú)線電頻率放大器,它在工作時(shí),晶體管的導(dǎo)通時(shí)間小于個(gè)周期的半,因此被稱為C類放大器。
    的頭像 發(fā)表于 08-01 14:46 ?804次閱讀

    如何在FPGA中實(shí)現(xiàn)狀態(tài)機(jī)

    在FPGA(現(xiàn)場(chǎng)可編程門陣列)中實(shí)現(xiàn)狀態(tài)機(jī)一種常見(jiàn)的做法,用于控制復(fù)雜的數(shù)字系統(tǒng)行為。狀態(tài)機(jī)能夠根據(jù)當(dāng)前的輸入和系統(tǒng)狀態(tài),決定下步的動(dòng)作
    的頭像 發(fā)表于 07-18 15:57 ?975次閱讀

    電源設(shè)計(jì):同步整流帶來(lái)的不僅僅是高效率

    ,增益急劇下降,原因是極點(diǎn)導(dǎo)致更低的交叉頻率,從而降低了瞬態(tài)響應(yīng)。總之,同步整流可提高效率,同時(shí)也能夠極大地幫助瞬態(tài)負(fù)載調(diào)節(jié)。它為電源預(yù)加載提供了一種高效的方法。另外,相比擺動(dòng)電感,它還擁有更加穩(wěn)定的控制環(huán)路特性。它提高了傳統(tǒng)降
    發(fā)表于 07-11 11:17

    玩轉(zhuǎn)Spring狀態(tài)機(jī)

    說(shuō)起Spring狀態(tài)機(jī),大家很容易聯(lián)想到這個(gè)狀態(tài)機(jī)和設(shè)計(jì)模式中狀態(tài)模式的區(qū)別是啥呢?沒(méi)錯(cuò),Spring狀態(tài)機(jī)就是狀態(tài)模式的
    的頭像 發(fā)表于 06-25 14:21 ?1190次閱讀
    玩轉(zhuǎn)Spring<b class='flag-5'>狀態(tài)機(jī)</b>

    關(guān)于SMU狀態(tài)機(jī)的問(wèn)題求解

    我有些關(guān)于 SMU 狀態(tài)機(jī)的問(wèn)題。 假設(shè)由于某種原因,SMU 已進(jìn)入故障狀態(tài)。 手冊(cè)指出,要返回運(yùn)行狀態(tài)并將 FSP 恢復(fù)到無(wú)故障狀態(tài),應(yīng)
    發(fā)表于 05-29 08:18

    在Verilog中實(shí)現(xiàn)Moore型和Mealy型狀態(tài)機(jī)的方法簡(jiǎn)析

    編寫能夠被綜合工具識(shí)別的狀態(tài)機(jī),首先需要理解狀態(tài)機(jī)的基本概念和分類。狀態(tài)機(jī)(FSM)是表示有限個(gè)狀態(tài)以及在這些狀態(tài)之間轉(zhuǎn)換的邏輯結(jié)構(gòu)。
    的頭像 發(fā)表于 05-01 11:38 ?2159次閱讀
    主站蜘蛛池模板: 天天狠操| 国产福利vr专区精品 | 亚洲免费mv | 不卡视频免费在线观看 | 日本一区二区三区欧美在线观看 | 亚洲天天做日日做天天欢毛片 | 国产亚洲午夜精品a一区二区 | 狠狠五月深爱婷婷网 | 日本免费一级 | 久久手机视频 | 免费在线看a | 国模大尺度在线 | 久久综合久久精品 | 丁香久久婷婷 | 亚洲一区精品中文字幕 | 国产永久免费爽视频在线 | 澳门色视频 | 色老成人精品视频在线观看 | 狠狠狠狠操 | 特级黄毛片 | 成人午夜性视频欧美成人 | 丁香网五月天 | 97精品伊人久久久大香线焦 | 国产色妞妞在线视频免费播放 | 丁香六月婷婷在线 | 亚洲精品理论 | 国产小视频在线观看免费 | 久久日精品 | 一区二区三区视频网站 | 免费国产不卡午夜福在线 | 欧美成人高清性色生活 | 你懂的视频在线观看资源 | 亚州免费一级毛片 | 免费视频爰爱太爽了 | 五月情视频在线观看 | 久久久久国产一级毛片高清板 | 国产精品久久久久久久久久影院 | 天堂色| 亚洲精品福利视频 | 欧美特黄一免在线观看 | 全国男人的天堂网站 |