色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美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

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

    關注

    5103

    文章

    19268

    瀏覽量

    310020
  • 函數指針
    +關注

    關注

    2

    文章

    56

    瀏覽量

    3853

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

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

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

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

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

    EsDA,一站嵌入式軟件

    ,旨在提高嵌入式軟件開發的效率、性能和可擴展性。EsDA全稱是嵌入式系統設計自動化,它是一個由AWorksLP、AWStudio、AXPI、AWTK、ZWS等多種軟件
    的頭像 發表于 09-15 08:10 ?438次閱讀
    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 ?615次閱讀

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

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

    嵌入式軟件開發與AI整合

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

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

    Vitis Embedded 是一款獨立的嵌入式軟件開發套件,主要用于為 AMD 自適應 SoC 和 FPGA 的 AMD 嵌入式處理子系統(基于 ARM 的子系統和 AMD Mic
    的頭像 發表于 04-08 10:50 ?1108次閱讀
    AMD Vitis? Embedded<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>套件的功能和特性概述
    主站蜘蛛池模板: 国产精品嫩草影视在线观看 | 久久精品视在线-2 | 媚药调教被撑到合不拢h | XXX国产麻豆HD真实乱 | 久草在在线免视频在线观看 | 欧美丝袜女同 | 99国产热视频在线观看 | 高冷师尊被CAO成SAO货 | 欧美日韩国产在线一区二区 | 久草在线草a免费线看 | 公么我好爽再深一点 | 污污内射久久一区二区欧美日韩 | 三级黄色在线免费观看 | 无码骚夜夜精品 | 51国产偷自视频在线视频播放 | 亚洲看片网站 | 一品道门免费视频韩国 | 国产精品久久久久久久A片冻果 | SAO货腿张开JI巴CAO死我 | 二次元美女扒开内裤喷水 | 国产国产乱老熟女视频网站97 | 永久免费观看视频 | 777精品久无码人妻蜜桃 | 99国产这里只有精品视频 | 国产成人拍精品免费视频爱情岛 | 99re.05久久热最新地址 | acg全彩无遮挡口工漫画网址 | 国产99视频在线观看 | videos gratis欧美另类 | 纯肉巨黄H爆粗口男男分卷阅读 | 最近高清中文字幕无吗免费看 | 亚洲成年人在线观看 | 欧美高清videos 360p | 九九热精品免费观看 | 亚洲欧美日韩一级特黄在线 | 精品爽爽久久久久久蜜臀 | 色呦呦人人视频 | 国产一区精选播放022 | 亚洲 无码 在线 专区 | 3a丝袜论坛 | 国语自产偷成人精品视频 |