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

永远不要再.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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版