久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1638|回復(fù): 9
收起左側(cè)

什么是回調(diào)函數(shù),有什么用

[復(fù)制鏈接]
ID:709761 發(fā)表于 2024-3-1 16:23 | 顯示全部樓層 |閱讀模式
回調(diào)函數(shù)是一個通過函數(shù)指針調(diào)用的函數(shù)。為什么不直接調(diào)用函數(shù)。
回復(fù)

使用道具 舉報

ID:277550 發(fā)表于 2024-3-1 23:31 | 顯示全部樓層
往往是用在SDK、或反復(fù)調(diào)用的代碼,等情況。
回復(fù)

使用道具 舉報

ID:1109793 發(fā)表于 2024-3-2 07:19 | 顯示全部樓層
我隱約記得回調(diào)的意思是函數(shù)自己可以調(diào)用自己的,不一定非要通過指針調(diào)用吧
回復(fù)

使用道具 舉報

ID:517951 發(fā)表于 2024-3-2 08:09 | 顯示全部樓層
用回調(diào)函數(shù),目的就是為了功能的靈活, 可以隨時通過函數(shù)指針改變軟件功能
回復(fù)

使用道具 舉報

ID:1096586 發(fā)表于 2024-3-3 01:01 | 顯示全部樓層
在某些簡單和直接的情境下,直接調(diào)用函數(shù)就能解決問題。回調(diào)函數(shù)提供了更大的靈活性和可擴(kuò)展性,使得代碼更容易維護(hù)和修改,在某些情境下,使用回調(diào)函數(shù)可能更為合適:
1、需要動態(tài)性和擴(kuò)展性的情境: 使用回調(diào)函數(shù)可以在運(yùn)行時指定要執(zhí)行的代碼。這使得程序更具動態(tài)性,能夠根據(jù)需要在運(yùn)行時更改其行為。如果直接調(diào)用函數(shù),代碼的行為就是靜態(tài)的,不能在運(yùn)行時更改。

2、需要解耦合的情境: 使用回調(diào)函數(shù)可以實(shí)現(xiàn)函數(shù)之間的解耦合。這意味著調(diào)用方和被調(diào)用方之間的關(guān)系更加靈活,它們可以相對獨(dú)立地演變。如果直接調(diào)用函數(shù),兩者之間的關(guān)系更為緊密,不容易進(jìn)行修改和擴(kuò)展。

3、需要通用性的情境: 回調(diào)函數(shù)可以用于實(shí)現(xiàn)通用的接口和框架。一個函數(shù)可以接受一個回調(diào)函數(shù),而不關(guān)心具體的實(shí)現(xiàn),這使得這個函數(shù)更加通用和可重用。直接調(diào)用函數(shù)可能需要特定的實(shí)現(xiàn),降低了通用性。

事件處理: 在事件驅(qū)動的編程中,回調(diào)函數(shù)常用于處理異步事件。當(dāng)某個事件發(fā)生時,通過回調(diào)函數(shù)通知相應(yīng)的處理代碼。這種方式比輪詢或者等待更加高效。
回復(fù)

使用道具 舉報

ID:1112070 發(fā)表于 2024-3-3 21:13 | 顯示全部樓層
函數(shù)指針的調(diào)用,即是一個通過函數(shù)指針調(diào)用的函數(shù);
如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個函數(shù),當(dāng)這個指針被用來調(diào)用其所指向的函數(shù)時,就說這是回調(diào)函數(shù)。
回復(fù)

使用道具 舉報

ID:1101997 發(fā)表于 2024-4-10 10:29 | 顯示全部樓層
其實(shí),回調(diào)函數(shù)更多的用途是程序上看起來整潔干凈,更容易模塊化,和直接調(diào)用區(qū)別不大,并且還犧牲了效率,但是目前處理器速度都很快,效率和整潔易用比較起來還是讓步一點(diǎn)。

可讀性和健壯性模塊化是現(xiàn)在程序設(shè)計的重要特點(diǎn)。
回復(fù)

使用道具 舉報

ID:1088185 發(fā)表于 2024-4-10 20:20 | 顯示全部樓層
首先明確一些慨念問題, 回調(diào)函數(shù),函數(shù)指針調(diào)用的函數(shù)是兩件事.
回調(diào)函數(shù)其作用是連接底層驅(qū)動至應(yīng)用層
例如, 要做一個串口接收及拆包的底層驅(qū)動,當(dāng)接收到并解析數(shù)據(jù)包后,肯定需要一手段通知應(yīng)用層去處理這數(shù)據(jù),回調(diào)函數(shù)就是扮演這角色。
問題在寫底層驅(qū)動時你的應(yīng)用層還沒做,我回調(diào)到哪兒都不適。
所以這回調(diào)函數(shù)就會通過函數(shù)指針的方式調(diào)用, 當(dāng)你做應(yīng)用層后, 就把此回調(diào)函數(shù)的指針指向你要的回調(diào)函數(shù)。
回復(fù)

使用道具 舉報

ID:1088185 發(fā)表于 2024-4-10 20:31 | 顯示全部樓層
1600277881 發(fā)表于 2024-4-10 20:20
首先明確一些慨念問題, 回調(diào)函數(shù),函數(shù)指針調(diào)用的函數(shù)是兩件事.
回調(diào)函數(shù)其作用是連接底層驅(qū)動至應(yīng)用層
...

比如你在用ST的庫,希望它處理數(shù)據(jù)接收,收到你所指定數(shù)量的數(shù)據(jù)后通知你去處理數(shù)據(jù),人家ST在寫這庫的時候你的軟件還沒做呢, 你讓他怎樣通過直接調(diào)用函數(shù)來通知你?
所以要用函數(shù)指針的方式做回調(diào)函數(shù),你的應(yīng)用做好后,就把此回調(diào)函數(shù)的指針指向你要的回調(diào)函數(shù)就完事了
回復(fù)

使用道具 舉報

ID:195496 發(fā)表于 2024-4-12 08:33 | 顯示全部樓層
用函數(shù)指針可以方便的改變功能,指向不同的處理函數(shù)
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 操操操操操 | 高清一区二区三区 | 色综合网站 | 99久久精品免费看国产四区 | 国产视频一区二区 | 亚洲精品久久久久国产 | 一区二区三区视频在线免费观看 | 精品久久久久国产免费第一页 | 中文字幕在线精品 | 最近中文字幕第一页 | 亚洲精品乱码久久久久久9色 | 国产在线精品一区二区三区 | 久久久激情视频 | 欧美mv日韩mv国产网站91进入 | 奇米影视在线 | 国产精品不卡一区 | 日韩 国产 在线 | av在线一区二区 | 天堂一区 | 国产高清在线观看 | 99这里只有精品视频 | 日韩视频在线一区 | 日韩在线高清 | 久久这里有精品 | 日本一道本视频 | 国产精品一区二区在线 | 视频在线观看一区 | 日本一区二区不卡 | 成人久久久久久久久 | 日日艹夜夜艹 | 国产欧美日韩一区二区三区 | 精品日韩欧美一区二区 | 国产亚洲欧美另类一区二区三区 | 久久精品视频一区二区三区 | 羞羞网站在线观看 | 一区二区在线不卡 | 天堂一区 | 日韩欧美1区2区 | 麻豆国产精品777777在线 | 少妇特黄a一区二区三区88av | 神马久久春色视频 |