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

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

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

    關注

    5086

    文章

    19143

    瀏覽量

    306044
  • 函數指針
    +關注

    關注

    2

    文章

    56

    瀏覽量

    3823

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

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

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

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

    嵌入式開發領域,函數指針指針函數、數組指針指針
    的頭像 發表于 08-10 08:11 ?915次閱讀
    面試常考+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 ?385次閱讀
    節點<b class='flag-5'>式</b>、跨平臺<b class='flag-5'>開發</b>,AWFlow讓<b class='flag-5'>嵌入式開發</b>變得更簡單

    嵌入式軟件開發與AI整合

    嵌入式軟件開發與AI整合是當前技術發展的重要趨勢之一。隨著人工智能技術的快速發展,嵌入式系統越來越多地集成了AI算法,以實現更復雜的智能功能。以下是關于
    的頭像 發表于 07-31 09:25 ?734次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>與AI整合

    嵌入式軟件開發招聘

    本帖最后由 jf_19082533 于 2024-7-26 13:56 編輯 尋求:嵌入式軟件工程師 要求:3年以上開發經驗,音視頻領域應用層開發 地址:北京市昌平區 郵箱:10
    發表于 07-26 13:44

    嵌入式開發者的未來

    和測試這些產品的硬件和軟件。汽車行業:現代汽車包含大量的嵌入式系統,例如車載娛樂系統、發動機控制單元、自動駕駛系統等。在這個領域,工程師可以從事嵌入式軟件開發、系統集
    的頭像 發表于 06-23 08:10 ?388次閱讀
    <b class='flag-5'>嵌入式開發</b>者的未來

    AMD Vitis? Embedded嵌入式軟件開發套件的功能和特性概述

    Vitis Embedded 是一款獨立的嵌入式軟件開發套件,主要用于為 AMD 自適應 SoC 和 FPGA 的 AMD 嵌入式處理子系統(基于 ARM 的子系統和 AMD Mic
    的頭像 發表于 04-08 10:50 ?943次閱讀
    AMD Vitis? Embedded<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>套件的功能和特性概述

    嵌入式軟件設計的原則分享

    嵌入式軟件開發如果具有更好的閱讀性、擴展性以及維護性,就需要考慮很多因素。今天給大家分享幾個嵌入式軟件設計的原則。
    發表于 02-25 10:54 ?713次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>設計的原則分享

    嵌入式軟件開發應該掌握哪些知識?

    嵌入式軟件開發應該掌握哪些知識? 一、 什么是嵌入式軟件嵌入式軟件通常是指
    發表于 02-19 11:23

    嵌入式軟件開發軟件開發的區別

    嵌入式軟件開發軟件開發是兩個不同的概念,它們在一些關鍵方面有著明顯的區別。嵌入式軟件開發是指開發
    的頭像 發表于 01-22 15:27 ?2337次閱讀

    聊一聊嵌入式C語言

    作為一名嵌入式軟件開發者,熟練掌握嵌入式C語言對我的日常工作至關重要。
    的頭像 發表于 01-22 09:28 ?555次閱讀
    主站蜘蛛池模板: 野花日本大全免费高清完整版| 她也色在线视频站| 欧美亚洲国产免费高清视频| 亚洲中文字幕无码爆乳APP| 国产午夜不卡| 午夜色网站| 国产精品免费久久久久影院| 日本午夜视频在线| 丰满人妻熟女色情A片| 桥本有菜护士| 波多久久亚洲精品AV无码| 欧美视频毛片在线播放| 99热最新在线| 日韩欧美一级| 国产精品久久久久久久久99热 | 荷兰少归BVBV| 亚洲成片在线看| 狠狠色狠狠色综合曰曰| 亚洲日韩一区精品射精| 久久xxxx| A级毛片高清免费网站不卡| 欧洲最大无人区免费高清完整版 | 不良网站进入窗口软件下载免费| 欧美肥婆性生活| 囯产免费久久久久久国产免费| 少女free大陆| 国产亚洲精品字幕在线观看| 亚洲精品第一页| 开心成人社区| 超级最爽的乱淫片免费| 玩高中女同桌肉色短丝袜脚文| 国际老妇高清在线观看| 中文字幕亚洲乱码熟女在线萌芽| 免费看美女的网站| 公么我好爽再深一点| 亚洲国产中文在线视频免费| 久久视频在线视频观看天天看视频| 92电影网午夜福利| 熟女人妻-蜜臀AV-首页| 精品国产影院| 超碰97人在线视频|