91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

淺談嵌入式軟件開發中函數指針的實現

FPGA之家 ? 來源:CSDN技術社區 ? 作者:碼農愛學習 ? 2021-04-15 11:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式軟件開發中,一個項目往往需要多人協作完成。

比如A需要完成項目的整體邏輯功能,而整個邏輯功能包含許多具體的小功能,但A又沒有時間或能力來實現這些小功能,這時可以讓B來協助實現函數內部的功能。

通常的思路是,B寫好某個函數后,A直接通過B聲明的函數調用即可。但這會有一些問題,例如B寫好函數之后,A只能使用B聲明的函數名來使用,假如B聲明的函數名的命名規則很不符合A的口味,A用起來就很不爽,哈哈。那這樣怎么辦呢?聰明的A可以自己再聲明一個自己喜歡的函數名,并通過函數指針傳遞的功能來獲得B的功能。

下面來講一下具體實現:

1聲明函數指針-A負責

比如A需要一個求和功能的函數,但他沒時間寫,他可以自己先聲明一個函數指針:

//a中聲明一個指針函數,其函數內部的功能需要另一個人b來完成 int (*mysum)(int, int)=0;

這個看起來和普通的函數聲明很像,都有函數名,返回值類型與參數類型,但該函數名前有一個星號,表示它是函數指針,另外其函數實體可以先初始化為0。

2函數指針賦值-A負責

這一步相當于函數指針初始化,也相當于函數注冊,就是將A聲明的函數指針,通過指針賦值的方式,來獲得B實現的函數功能,相當于是給B寫的函數套上一層A的殼:

//初始化指針函數,傳入 b寫的函數的函數名,//通過函數指針賦值,main中聲明的函數,就可以使用b寫的函數功能了 int init_mysum_func(int(*func_handle)(int,int)){ mysum = func_handle; return 0;}

3函數的具體實現-B負責

B這個人只要按照A聲明的函數指針的格式(返回值與參數類型一致,函數名可以隨意)完成函數內部功能即可,這里以簡單的求和為例,在b.h文件中,B實現的功能如下:

int sum_by_b(int a, int b){ return a+b;}

4項目整理邏輯-A負責

項目邏輯很簡單,就是求1+2的值,這時A在使用自己聲明的mysum之前,初始化(注冊)一下該函數(將B寫的函數“sum_by_b”套上A寫的殼“mysum”),然后就可以使用了,使用實例如下:

int main(){ int res = 0;

init_mysum_func(sum_by_b);//初始化指針函數, 將 b完成的函數功能賦予a聲明的函數

res = mysum(1,2);//使用a聲明的求和函數進行求和,其內部實現其實的b完成的

printf(“mysum(1,2) = %d”,res);

return 0;}

測試結果:

mysum(1,2) = 3--------------------------------Process exited after 0.007424 seconds with return value 0請按任意鍵繼續。 . 。
編輯:lyn

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

    關注

    5158

    文章

    19730

    瀏覽量

    318561
  • 函數指針
    +關注

    關注

    2

    文章

    57

    瀏覽量

    3989

原文標題:嵌入式中的合作開發——函數指針

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    對于初學嵌入式的朋友們,會想要了解嵌入式軟件開發常用的軟件有些,有什么用。那么看以下常用的軟件介紹。 1.Visual Studio Cod
    發表于 07-03 17:06

    如何成為一名嵌入式軟件工程師?

    、Java等)和軟件開發工具,還需要對硬件的工作原理有深入的理解。 在團隊嵌入式軟件工程師往往扮演著核心角色,他們的工作直接關系到產品的性能、穩定性和用戶體驗。 02掌握核心技
    發表于 04-15 14:37

    函數指針的六個常見應用場景

    函數指針嵌入式開發中有著廣泛的應用,它讓代碼更加靈活,減少冗余,提高可擴展性。很多時候,我們需要根據不同的情況動態調用不同的函數,而函數
    的頭像 發表于 04-07 11:58 ?608次閱讀
    <b class='flag-5'>函數</b><b class='flag-5'>指針</b>的六個常見應用場景

    IAR發布云端平臺,助力現代嵌入式軟件開發團隊

    該平臺為嵌入式軟件開發人員提供前所未有的自由度與靈活性,助力開發團隊在工具選擇和日常工作流實現更高效的協作與創新。
    的頭像 發表于 03-12 11:56 ?390次閱讀

    打破技術壁壘!AWFlow讓嵌入式軟件開發觸手可及

    嵌入式軟件開發,創意和技術創新常常難以融合。AWFlow通過其圖形化組態方法,利用拖拽節點構建業務流程圖,幫助用戶實現奇思妙想。在嵌入式
    的頭像 發表于 02-10 16:44 ?513次閱讀
    打破技術壁壘!AWFlow讓<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>觸手可及

    嵌入式機器學習的應用特性與軟件開發環境

    設備和智能傳感器)上,這些設備通常具有有限的計算能力、存儲空間和功耗。本文將您介紹嵌入式機器學習的應用特性,以及常見的機器學習開發軟件開發環境。 嵌入式機器學習的應用特性與優勢 由于
    的頭像 發表于 01-25 17:05 ?702次閱讀
    <b class='flag-5'>嵌入式</b>機器學習的應用特性與<b class='flag-5'>軟件開發</b>環境

    嵌入式軟件開發符合ISO 26262 功能安全標準

    )的符合性呢?現在,您可以通過 “如何遵守 ISO 26262 標準 ”白皮書在 ISO 26262 合規性方面搶占先機。了解如何以最佳方式加快嵌入式軟件開發符合
    發表于 01-15 12:04 ?3次下載

    嵌入式系統開發的測試方法 嵌入式系統開發與AI結合應用

    嵌入式系統開發的測試方法 嵌入式系統開發是一個復雜的過程,涉及到硬件和軟件的緊密結合。測試是確
    的頭像 發表于 12-09 10:22 ?1422次閱讀

    一文了解嵌入式軟件開發的對象

    以前應用場景很單一,嵌入式開發可能談不上面向對象開發。但現在,做嵌入式開發,沒有面向對象開發,你就有點落伍了。 本文結合個人經驗和周立功《抽象接口技術和組件
    的頭像 發表于 11-15 10:31 ?890次閱讀
    一文了解<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>的對象

    你認為嵌入式軟件開發的盡頭是什么?

    嵌入式軟件開發的“盡頭”是一個富有哲理且多維度的概念,因為它不僅關乎技術發展的極限,還涉及到行業應用、市場需求、技術融合與創新等多個方面。從幾個不同的視角來看
    的頭像 發表于 09-18 09:42 ?803次閱讀
    你認為<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>的盡頭是什么?

    EsDA,一站嵌入式軟件

    ,旨在提高嵌入式軟件開發的效率、性能和可擴展性。EsDA全稱是嵌入式系統設計自動化,它是一個由AWorksLP、AWStudio、AXPI、AWTK、ZWS等多種軟件
    的頭像 發表于 09-15 08:10 ?807次閱讀
    EsDA,一站<b class='flag-5'>式</b><b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>

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

    嵌入式開發常用軟件有哪些? 對于初學嵌入式的朋友們,會想要了解嵌入式軟件開發常用的軟件有些,有什
    發表于 09-09 15:22

    嵌入式系統的實時操作系統

    嵌入式RTOS是嵌入式應用程序運行、相互交互和與外界通信的底層軟件機制。在本節,您將了解嵌入式軟件開發
    的頭像 發表于 08-20 11:28 ?932次閱讀

    面試常考+1:函數指針指針函數、數組指針指針數組

    嵌入式開發領域,函數指針指針函數、數組指針指針
    的頭像 發表于 08-10 08:11 ?1517次閱讀
    面試常考+1:<b class='flag-5'>函數</b><b class='flag-5'>指針</b>與<b class='flag-5'>指針</b><b class='flag-5'>函數</b>、數組<b class='flag-5'>指針</b>與<b class='flag-5'>指針</b>數組

    節點、跨平臺開發,AWFlow讓嵌入式開發變得更簡單

    國產化趨勢對嵌入式軟件開發構成挑戰,導致軟件移植和適配需求激增,影響開發效率。AWFlow軟件通過節點化和跨平臺
    的頭像 發表于 08-02 08:25 ?796次閱讀
    節點<b class='flag-5'>式</b>、跨平臺<b class='flag-5'>開發</b>,AWFlow讓<b class='flag-5'>嵌入式開發</b>變得更簡單
    主站蜘蛛池模板: 爱爱天堂| 亚洲高清毛片 | 日本韩国三级视频 | 67pao强力打造 | 婷婷激情综合五月天 | 久久天天躁夜夜躁狠狠躁2015 | 精品一级毛片 | 国产天天在线 | 直接黄91麻豆网站 | 精品久久天干天天天按摩 | 欧洲国产精品精华液 | 免费 在线观看 视频 | 国产一区二区三区在线观看影院 | 老师您的兔子好软水好多动漫视频 | 色视频网站人成免费 | 国产网红主播精品福利大秀专区 | 国产主播一区二区 | 狠狠色噜噜狠狠狠狠奇米777 | 日韩午夜大片 | 唐人呦一呦xxxx视频 | 黄色在线观看视频网站 | 亚洲综合精品一区二区三区中文 | 2021精品综合久久久久 | 色婷婷亚洲十月十月色天 | 久久综合视频网 | 久久久久亚洲香蕉网 | 美女视频一区二区三区在线 | 狠狠要| 黄视频在线观看网站 | 国产在线播放成人免费 | 亚洲国产色婷婷精品综合在线观看 | 奇米影视奇米色777欧美 | 8888奇米四色在线 | 色婷婷综合和线在线 | 日本tv欧美tv天堂 | 国产精品毛片一区二区三区 | 最近高清免费观看视频 | 爱爱小视频免费看 | 日本免费高清 | 国模视频一区 | 自拍你懂的 |