你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

永远不要再.h文件中定义变量----->转载一篇博客

[复制链接]
在路上11111111 发布时间:2017-4-5 08:49
阅读主题, 点击返回1楼
收藏 1 评论28 发布时间:2017-4-5 08:49
28个回答
NNXia 回答时间:2017-4-5 21:42:50
写程序规范,不仅仅是一种习惯啊,小程序的话个别的寄存器浪费也许感觉不到多大影响,但是大程序就麻烦了。

所以说有轻微强迫症的人编的程序更好、、更快、更省资源
在路上11111111 回答时间:2017-4-6 08:13:54
是啊
shuolang 回答时间:2017-4-8 08:15:30
再进一步,头文件只有函数声明和宏定义,使用读函数和写函数,代替全局变量,更有利于模块间的独立性!
zbber 回答时间:2017-4-8 08:45:24
关于在头文件中定义变量出现重复分配的问题解决方法很多,但是有经验的C
sssdd 回答时间:2017-4-8 10:11:40
然而,维护起来,真的很容易吗?

当诸位抓到一份有bug的代码,或者要在库代码的基础上加加减减的时候。。。
好事来了。

这个声明好像在哪里见过。。恩我找找。。定义了啊,为毛老是通不过?
哦,他在头文件。。没!有!定!义!
同样是声明,要两遍。嗯,没毛病。同样的事情一天做个10来遍就是受罪了。

个人觉得,既然是模块化的基础函数,干脆都塞头文件里面。干掉那个*.c。这样要改一次改。精简不浪费。多环保。
整天操作两个看起来差不多的文件。会抑郁的。
潇潇雨歇pku 回答时间:2017-4-8 10:41:03
sssdd 发表于 2017-4-8 10:11
然而,维护起来,真的很容易吗?

当诸位抓到一份有bug的代码,或者要在库代码的基础上加加减减的时候。。 ...

你一个人写,怎么写都没毛病,自己写的顺手,也能实现功能即可。
要是在一个团队,你写代码首先是要让别人看得懂,而不是自己写的顺手。我相信一般人看到你这样精简环保的代码也是会抑郁的。

要说到省事啊,我想起了某网站的一位大师,从来不知道h文件为何物,不管多大程序,统统塞到一个main.c中去,一个文件几千行,那才叫nb啊,还有还多人追捧。

点评

那不叫nb,是十足十的SB 统统放一个文件里面的,那基本上算脑残一类 不信的话你自己试试,一个文件超过2000行,你自己最后都不知道你是怎么死的  发表于 2017-6-1 23:30
sssdd 回答时间:2017-4-8 11:13:26
潇潇雨歇pku 发表于 2017-4-8 10:41
你一个人写,怎么写都没毛病,自己写的顺手,也能实现功能即可。
要是在一个团队,你写代码首先是要让别 ...

放在团队里面。
如标准的写法,
c文件和h文件要同时维护。并且查错的情况下还有跨文件查看。
如单h文件写法,
相关函数,定义都在一个文件处理,不用到处找变量定义。
请问是哪种方式更容易维护?
欢迎各路大神拍砖,发表意见。

点评

不会用sourceinsight,起码也会用ultraedit吧?到处找变量的,那是大一的初学者  发表于 2017-6-1 23:31
zhanghailin 回答时间:2017-6-1 12:29:12
#ifdef TIME_GLOBALS
#define TIME_EXT
#else
#define TIME_EXT  extern
#endif
加个宏就可以
TIME_EXT  INT8U                ACC_Ctr;

点评

终于看到一个有经验的了  发表于 2017-6-1 23:25
wzf162200210 回答时间:2017-6-1 23:25:46
前面一堆的都在瞎BB
epochal 回答时间:2017-6-2 07:26:51
学习了!!!

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版