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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2750|回復: 25
收起左側

寫程序 不用函數 是不是代碼就變長了?

  [復制鏈接]
ID:709761 發表于 2022-3-9 09:49 | 顯示全部樓層 |閱讀模式
如題
回復

使用道具 舉報

ID:879809 發表于 2022-3-9 17:10 | 顯示全部樓層
長不長關鍵看你的實現邏輯是否最優,用不用函數無關。
回復

使用道具 舉報

ID:1006015 發表于 2022-3-9 18:08 | 顯示全部樓層
如果代碼很長的話,函數調用簡潔明了,很容易看懂。相反,不用函數的話,則會生澀難懂。
回復

使用道具 舉報

ID:1008998 發表于 2022-3-9 20:38 | 顯示全部樓層
寫程序在邏輯一樣的情況下,我還是比較習慣用函數。方便快捷不容易出現特殊情況
回復

使用道具 舉報

ID:584814 發表于 2022-3-10 08:25 | 顯示全部樓層
未必。比如HELLO或點燈,用函數代碼會增加。
用函數如造模塊,用不用都可以,但為啥罕見有人不用呢,你應該懂的
回復

使用道具 舉報

ID:1008919 發表于 2022-3-10 10:13 | 顯示全部樓層
未必 看項目設計 常用編程用函數簡單點 有條理用函數調用
回復

使用道具 舉報

ID:551638 發表于 2022-3-10 10:17 | 顯示全部樓層
不是變長了,是可讀性,還有移植性都降低了,而且不美觀
回復

使用道具 舉報

ID:712493 發表于 2022-3-10 10:34 | 顯示全部樓層
1842559923 發表于 2022-3-10 10:17
不是變長了,是可讀性,還有移植性都降低了,而且不美觀

但能不能說不用函數調用 也就不需要現場保護啥的,更不需要PC長距離跳轉
回復

使用道具 舉報

ID:824490 發表于 2022-3-10 12:22 | 顯示全部樓層
麻煩你,把你對“函數”這個詞的理解,說說看?
回復

使用道具 舉報

ID:1009420 發表于 2022-3-10 12:33 | 顯示全部樓層
看項目設計 常用編程用函數簡單點 有條理用函數調用
回復

使用道具 舉報

ID:824490 發表于 2022-3-10 12:41 | 顯示全部樓層
很難想象,編程寫代碼不用“函數”,有誰能貼一段沒有“函數”的代碼?

個人認為,不同的編譯語言對“函數”的叫法不同:A(基于ASM)、B(基于BASIC)叫做“Sub”(子程序),;
而C(C51、C#)之類就有“FUNCTION”的叫法。
“函數”的特點就是代碼可讀、邏輯、復用、移植等等的體現。
不用函數,似乎還沒見過。比如C51中,串口中斷,就是一個“函數”,最常見的delay_ms(x)也 一個“函數”,更別提顯示“函數”、按鍵掃描“函數”。。。

再次請求:有誰能貼一段沒有“函數”的代碼讓我學習學習?
回復

使用道具 舉報

ID:879809 發表于 2022-3-10 16:45 | 顯示全部樓層
名字不是重點 發表于 2022-3-10 12:41
很難想象,編程寫代碼不用“函數”,有誰能貼一段沒有“函數”的代碼?

個人認為,不同的編譯語言對“函 ...

其實你把函數都定義成inline屬性事實上(從機器碼角度考慮)就沒有函數了。所有的函數都在調用位置展開,不存在調用和返回。
回復

使用道具 舉報

ID:824490 發表于 2022-3-10 20:17 | 顯示全部樓層
發表于 2022-3-10 16:45
其實你把函數都定義成inline屬性事實上(從機器碼角度考慮)就沒有函數了。所有的函數都在調用位置展開, ...

不存在調用和返回?那些隨機事件如何處理?比如串口接收事件,難道每個指令完成后都要判斷一下標志?
然后程序的PC指針從ORG 000H 就一路一直走到ROM空間盡頭?才疏學淺,真想不出。。
回復

使用道具 舉報

ID:879809 發表于 2022-3-10 20:39 | 顯示全部樓層
名字不是重點 發表于 2022-3-10 20:17
不存在調用和返回?那些隨機事件如何處理?比如串口接收事件,難道每個指令完成后都要判斷一下標志?
然 ...

自然有別的邏輯來實現你的功能。你沒用過inline才疏學淺而已。
回復

使用道具 舉報

ID:824490 發表于 2022-3-10 20:56 | 顯示全部樓層
發表于 2022-3-10 20:39
自然有別的邏輯來實現你的功能。你沒用過inline才疏學淺而已。

貼個代碼上來,讓我學習一下?
回復

使用道具 舉報

ID:1009545 發表于 2022-3-10 22:33 | 顯示全部樓層
用函數,就是把復雜的過程模塊化,代碼不見得就變長了。但可讀性高了。就是用匯編寫,都要用函數。
回復

使用道具 舉報

ID:1009545 發表于 2022-3-10 22:44 | 顯示全部樓層
發表于 2022-3-10 20:39
自然有別的邏輯來實現你的功能。你沒用過inline才疏學淺而已。

如果有變量,還是要壓堆杙的。
回復

使用道具 舉報

ID:879809 發表于 2022-3-10 22:51 | 顯示全部樓層
maoyongyi 發表于 2022-3-10 22:44
如果有變量,還是要壓堆杙的。

inline不存在壓棧,參數根本就不傳遞。
回復

使用道具 舉報

ID:624769 發表于 2022-3-10 23:35 | 顯示全部樓層
名字不是重點 發表于 2022-3-10 20:56
貼個代碼上來,讓我學習一下?

他就是偷換概念,你還讓他發代碼?

就算寫個流水燈 都需要 “main函數”,所以,這個“不用函數”這個偽命題,居然能討論到那么多樓,也夠奇葩的。

inline 本來就是寫在函數里的,然后來跟你說站在機器的角度考慮沒有函數,就是一個斷章取義偷換概念的噴子,理他干啥?
回復

使用道具 舉報

ID:824490 發表于 2022-3-11 08:48 | 顯示全部樓層
指數布丁字數布丁

哈哈~~
回復

使用道具 舉報

ID:382454 發表于 2022-3-11 16:26 | 顯示全部樓層
規范的都是寫與一個個函數,解說一定要標注清楚,函數再做成一個一個模塊化的組件,應用的時候把這些模塊調出來就可以組成一個系統了,最多就是局部小改一下。這樣才有時效,代碼看起來整潔,簡潔,明了。
如果你亂寫一通,那時間長了自己不認得了。對吧!!!!
回復

使用道具 舉報

ID:488334 發表于 2022-3-12 03:04 | 顯示全部樓層
寫函數不一定代碼會變短,但是可移植性,可讀性都高了。想節省內存,還是得增強自己的軟件編寫能力,也就是增強腦子的邏輯
回復

使用道具 舉報

ID:1010140 發表于 2022-3-13 16:39 | 顯示全部樓層
不一定代碼會變長,關鍵看程序是如何實現的,使用函數會使代碼美觀,可讀性變好
回復

使用道具 舉報

ID:1006510 發表于 2022-3-15 22:31 | 顯示全部樓層
在團隊編寫程序時,使用函數會使得其它成員能夠讀懂程序,但是代碼長度是由人為編寫的邏輯決定的。比如一個定時器做時鐘LCD1602顯示程序,我的師兄全部打下來,實現功能后,用了七百多行代碼,一看程序發現有很多while,if,for等嵌套。但是實現同樣功能的代碼,我的學長打下了就只有四百多行。代碼長度主要還是看個人編寫習慣、編寫技巧和編寫格式。
回復

使用道具 舉報

ID:1010818 發表于 2022-3-16 14:41 | 顯示全部樓層
不一定,要分情況的,有的情況下一個簡單地邏輯就可以解決,不需要用到函數,用函數可能會把問題變得更加復雜。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 9久9久9久女女女九九九一九 | 国产精品一区二区日韩 | 日韩日b视频 | 精品国产一区二区久久 | 99精品国自产在线 | 三级黄片毛片 | 亚洲高清视频在线观看 | 91麻豆精品国产91久久久更新资源速度超快 | 国产精品美女久久久久aⅴ国产馆 | 福利视频网站 | 国产日韩一区二区三免费高清 | 日韩午夜激情 | 国产精品久久久久久久久久久免费看 | 欧美亚洲综合久久 | 国产午夜视频 | 精品久久久久久一区二区 | 九九色综合 | 中文字幕视频在线观看免费 | 91资源在线 | 亚洲性在线 | 九九热精品在线视频 | 日韩精品一区二区三区免费观看 | 欧美成人精品一区二区男人看 | 日本免费一区二区三区 | 国产一区二区三区网站 | 国产91网址 | 在线看片国产精品 | 亚洲资源在线 | 国产999精品久久久久久绿帽 | 一级毛片网 | 欧美韩一区二区三区 | 黄色精品 | 欧美综合视频 | 国产成人免费网站 | 色综合99| 免费的一级视频 | 亚洲欧美日韩精品久久亚洲区 | 国产成人小视频 | 欧美伊人久久久久久久久影院 | 一呦二呦三呦国产精品 | 亚洲欧美日韩电影 |