永发信息网

模块化编程的问题

答案:2  悬赏:60  手机版
解决时间 2021-03-17 23:33
  • 提问者网友:活着好累
  • 2021-03-17 18:21
我想问一下大家,就是如果我写程序用模块化编程来写在头文见和.c文件里写了很多函数的代码。那么我在调用函数的时候会不会把我没有调用的函数的代码也在主程序里包含进来啊 。而且还有如果在两个不同的.c文件怎么一起共用一个参数啊,在一个文件里用的变量在另一个文件里也要用到啊!
最佳答案
  • 五星知识达人网友:第幾種人
  • 2021-03-17 18:32
1.头文件可以预先告诉编译器一些必要的声明,让编译器顺利进行下去,在连接实现以前.未必出现实际的定义.
头文件的意义在
2.使得程序简明,清晰.
3.避免了重复编写相同的声明代码.
4.**.c和**.h文件没有必然的联系.
其实要理解C文件与头文件有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:
1.预处理阶段 (处理C中包含的H)
2.词法与语法分析阶段 (判断声明,压栈,分配,预留空间)
3.编译阶段(不同的.c生成不同的.obj),首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件
4.连接阶段(l链接不同的.obi,生成目标代码,比如.hex .exe),将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成纯二进制
码,也就是去掉了文件格式信息。.
求采纳为满意回答。
全部回答
  • 1楼网友:妄饮晩冬酒
  • 2021-03-17 18:59
举例来说吧,比如你设计了3个不同用途的系统,而3个系统都恰好要用到同一个外部设备,假设这个外部设备是个液晶显器吧,那你就仅仅只要写一个液晶驱动(而不用写三个),设定好入口函数,3个不同用途的系统就都能用了,是不是很省事呢? 其他也一样,比如使用传感器,常常要多次采样取平均值,以提高准确性,那就可以做一个通用的计算平均值的子程序,需要的时候拿来用就行了,不用管这次是温度传感器、压力传感器还是加速度感器,全部通用,就不用每次都编了.这样就提高效率了嘛。 至于把各模块连接起来,这本来概念上就不对。模块不是连接的,而是被调用的。设计程序时应当先设计主程序的流程图,再逐步细化,细化到一定程度自然就变成一个个模块的组合了。而在主程序中只是设置一些参数,然后调用模块完成相应的功能。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯