比较大的程序如何规划

lbjfeng 2010-01-20 05:08:31
我现在将会写一个软件,不是特难,但是很繁琐。我大体估算了一下,大概要将近七八万行代码……
因为会有很多外设,每个外设都有很多不同的属性。因此我打算把他们全部设置为全局变量。这样子以来,要设置的全局变量就会变得特别多…………


大家有什么什么好的建议?
...全文
179 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xcgspring 2010-01-22
  • 打赏
  • 举报
回复
我也有这样的问题。我的工作也是在嵌入式系统中的,感觉对于生命周期不同的变量比较难控制。一般都用的是全局变量,因为全局变量可以自己进行内存排布。动态内存分配反而是不允许的,因为内存受限的关系,堆栈大小一般不能太大,动态分配内存状态很难控制,很有可能失败,导致整个程序失败。
我觉得也许需要对全局变量进行统一规范的管理,比如根据不同模块进行不同命名,可以对每个模块使用的全局变量在单独的源文件中定义,这样估计管理方面就能比较容易。至于模块间的密闭性,可以使用结构体将这些变量包含,外部使用void指针访问。
不知道说的对不对,抛砖引玉吧。
aizibion 2010-01-21
  • 打赏
  • 举报
回复
虽然代码行数和内存貌似牵扯不上关系,但几万行代码对应几M的内存貌似还是相当的有挑战性啊
yuxh81 2010-01-21
  • 打赏
  • 举报
回复
8万行,好恐怖哦
帮顶

不知是什么项目啊
quintard 2010-01-21
  • 打赏
  • 举报
回复
还么开发那么大的软件。

全局变量还是少用吧。。


编码的时候 多点 static的函数。。呵呵
扮猪喂老虎 2010-01-21
  • 打赏
  • 举报
回复
一直要存在的东西就做一个大的数据结构保存着啊,然后传参数就是了。全局变量是禁止的。
typedef struct
{
S_DEVICE_TYPE1 stDevice1;
S_DEVICE_TYPE2 stDevice2;
。。。
}S_DEVICE_MANAGER;
lrujie 2010-01-21
  • 打赏
  • 举报
回复
牛啊
lbjfeng 2010-01-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 aizibion 的回复:]
虽然代码行数和内存貌似牵扯不上关系,但几万行代码对应几M的内存貌似还是相当的有挑战性啊
[/Quote]

自己为自己的说法汗一个。。。

但是如果加上flash,就会多不少·~
lbjfeng 2010-01-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 videodog 的回复:]
一直要存在的东西就做一个大的数据结构保存着啊,然后传参数就是了。全局变量是禁止的。
typedef struct
{
    S_DEVICE_TYPE1 stDevice1;
    S_DEVICE_TYPE2 stDevice2;
    。。。
}S_DEVICE_MANAGER;
[/Quote]

换汤不要换药么………
lbjfeng 2010-01-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 macrojj 的回复:]
引用 4 楼 guzhijie1981 的回复:
我建议用配置文件方式;然后写一个读写文件的函数;


这个还比较靠谱

一楼那个不靠谱
[/Quote]

嘿嘿,那你有什么号的建议啊
macrojj 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 guzhijie1981 的回复:]
我建议用配置文件方式;然后写一个读写文件的函数;
[/Quote]

这个还比较靠谱

一楼那个不靠谱
匚匚 2010-01-20
  • 打赏
  • 举报
回复
我也觉得对全局变量的使用要慎重,但不是不用,要根据实情情况而定
lbjfeng 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 aaa20090987 的回复:]
尽量不要用全局变量。。。
[/Quote]

我也觉得头大…………但是,如果不用全局,也必须要一直存在.


附加一句,我的是嵌入式软件,根本不存在文件系统……内部flash加上内存,撑死几M
lbjfeng 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 z569362161 的回复:]
动态规划算法和贪婪算法

[/Quote]

具体说说啊,大哥大………………
guzhijie1981 2010-01-20
  • 打赏
  • 举报
回复
我建议用配置文件方式;然后写一个读写文件的函数;
AAA20090987 2010-01-20
  • 打赏
  • 举报
回复
尽量不要用全局变量。。。
扮猪喂老虎 2010-01-20
  • 打赏
  • 举报
回复
晕,7、8万行代码自己写。
全局变量,好害怕,千万别用。
z569362161 2010-01-20
  • 打赏
  • 举报
回复
动态规划算法和贪婪算法

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧