多文件共享全局变量编程范式
多文件或多个开发者之间如何做到接口统一且好用共享变量、共享函数应该怎么做为什么全局变量只能定义一次链接阶段会报错全局变量要怎么用什么时候用要封装即使用函数在函数内部可以检查参数更新硬件更新状态打印日志返回错误码这样就安全得多不然容易造成多人修改导致bug难查。或者将变量前加static仅限本文件访问。“模块拥有数据外部通过接口访问”的设计思想让每一个变量都有明确的所有者Owner。每个变量都应该回答三个问题谁负责创建和销毁它谁有权限修改它?其他模块应该通过什么接口访问它模块间交互通过API而不是直接访问变量降低耦合提高可维护性。在A.c开发人员A文件中定义了全局变量a如果想在B.c开发人员B文件中访问它最好的方式是什么定义Definition放在.c文件声明Declaration放在.h头文件。切记不要在头文件中定义变量定义时分配内存声明不分配内存。如果这个变量是结构体枚举等类型呢遵循的原则一致只要在头文件中包含数据类型的完整定义即可。如果你的项目较大直接暴露全局变量会使得模块耦合度过高。更推荐的做法是不暴露变量本身而是通过get/set函数访问。即使未来修改变量名或数据类型B.c无需重新编译也无需改动。那全局变量global_a的作用域Scope和生命周期呢Lifetime全局变量存储于.data段或.bss段一直存在直到程序退出。作用域仅文件内部可见。上就是今天的内容分享如果有所收获欢迎点赞、留言、转发你的支持是我持续输出的动力下篇内容我们不见不散~