完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
7个回答
|
|
我一直是这么理解的,模块化程序,就是将实现不同功能的函数进行封装,留出函数之间的数据接口,每一个.c文件对应一个.h文件,在c文件中编写功能函数,在h文件中存放宏定义,全局变量的声明,函数的声明等,在需要调用函数时,直接包含.h文件,就可以实现调用,单片机某一时刻只能实现某一功能,多个功能之间可以进行协调 调用,在完成当前功能后,在运行下一个要运行的功能, |
|
|
|
别把模块化编程想得太高深了,其实模块化编程和非模块化编程差别不是很多 使用模块化编程主要是为了通用函数在不同项目中可以直接调用或修改部分代码就可以直接使用,特别是在较大的项目中都是分工合作的,不同的人编写不同的功能代码,然后整合,你不需要清楚的知道别人完成该功能的函数是怎么写的,你只需按他提供的函数说明直接调用就好了。 在非模块化编程中,我们通常是将所有的子函数放在一个.C文件中,然后在main函数中调用。 而在模块化编程中,通常的做法是将子函数按功能分类放在不同的.C文件中,然后在.h中将对应.C中需要对外公开的函数进行申明,在main函数中通过include引用后再调用。 简单的说就是模块化编程就是将一个.C文件按子函数功能分割为多个.C文件。你一个.C文件该怎么调用子函数的的,多个.C文件也一样调用。 |
|
|
|
使用模块化编程主要是为了通过 表面看起来是你理解的这样,但设计思路却不是简单的把一个分成多个。面向过程的思路:程序是一个操作流水线,有起始、分支判断(循环)和结束。模块化或者对象化的思路:首先定义和实现各个模块的属性和行为,使之有明确的功能和接口,然后整个程序的运行过程就是各个模块的通信过程,main方法(函数)仅仅作为程序运行的一个总入口。在高度模块化的项目中,你是不会看到main方法的大循环的,取而代之的是一个调度系统。 |
|
|
|
子模块里的参数可以用返回值
|
|
|
|
赞成1楼的说法,模块化绝对不是简单的把程序分割。好的模块就像一个黑盒子,留有几个接口,别的来不需要明白里面是什么东西,只要调用接口就行。
目前我还在学习怎么模块化,做的项目感觉太冗余,变量太多,希望可以同大家一起来探讨下 LZ说的要在主函数里面调用这个变量,这个变量要声明为全局变量,也可以直接封装一个函数,返回该变量的值,在主函数里面直接调用这个函数。 |
|
|
|
看年圻地看看看
|
|
|
|
怎么理解调度系统?有相关的例子说明吗? |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》 第十六章 WATCH_DOG实验
460 浏览 0 评论
【敏矽微ME32G070开发板免费体验】+ADC测试与LED点亮
418 浏览 0 评论
飞凌嵌入式-ELFBOARD ELF 2的硬件知识分享--核心板
352 浏览 0 评论
【敏矽微ME32G070开发板免费体验】\\+Lora通信终端产品开发项目
514 浏览 0 评论
1576 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11969 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 09:51 , Processed in 0.985962 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号