如何使用纯 C 做大项目

manasir 2004-01-15 10:23:37

不要说我痴,一定要 C。
我只有说,因为是实际情况需要。
说明一下:

1、多人开发,存在分工的问题。探讨分工问题?
2、每个人负责一部分模块,存在接口问题。接口如何定义?如何调用?
3、接口间有数据的传递,探讨传递方法?
4、分发是一个 EXE文件,还是怎么来的?
...全文
195 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
minitigger 2004-01-16
  • 打赏
  • 举报
回复
1.多人开发,存在分工。分工是项目经理的事情,他根据项目的整体结构和开发小组的人员情况来进行分配,所以说整体结构的分析是第一步,是基础。首先区分公用模块和私有模块,分工也先分为着两个部分。然后再各自的部分当中再进行模块的划分,这个就主要是工作量的均衡的问题了。
2。如果是数据库的开发,一般数据库表就是接口,数据库文档就是接口文档,另外加上一部分以文件形式的接口,需要定义文件格式,还有socket的话,需要定义数据报的格式。如果用共享内存的话,需要确定数据格式。总之,要先筹划好接口的形式,然后进行分类,在定义接口数据格式。最重要的,在开发之前,一定形成接口定义的文档,大家都以这个作为标准来执行。文档的更新一定要及时、准确,并保证分发到每个人。
3。传递方法:参数传递,共享内存,数据报,ipc,
4。如果系统大,要认真划分系统的结构。在流式开发中,系统的结构基本是线性的,是基于功能和业务的,所以系统的划分也要基于这个来确定。
cxyOOOO 2004-01-16
  • 打赏
  • 举报
回复
干吗呢,想做QUAKE?
doer_ljy 2004-01-16
  • 打赏
  • 举报
回复
可以用静态库或者动态库的方式发布,只有一个exe
其他的,和C没什么关系。
属于系统分析和项目管理的范畴!
可以看看UML或者系统分析之类的书籍!
jinandsun 2004-01-16
  • 打赏
  • 举报
回复
http://byoneself.yeah.net
欢迎赶兴趣的访问
DotLSong 2004-01-15
  • 打赏
  • 举报
回复
有必要问吗?其实大家都一样
hjf1010 2004-01-15
  • 打赏
  • 举报
回复
接口变了要重新编译,这是在所难免的,修改程序也是有可能的。
关键的事在开始编码之前一定要规划好,做好系统分析,不要总是改来改去,系统分析在软件工程里占的时间最长吧,很重要的,深有体会
如果是合作开发,事先同一定义好接口,每个模块的功能定义清楚,也没什么复杂的,关键是系统分析了
manasir 2004-01-15
  • 打赏
  • 举报
回复

to: xdspower

谢谢,您说的是《软件发布方法》吗?我没有查到《软件发布》。
《软件发布方法》作者:[美] Michael E. Bays
《软件发布方法》译者:章柏幸 杨作兴
《软件发布方法》内容:
  ·为什么产品创建如此困难,以及如何解决这一问题
  ·简单的缺陷跟踪技术,使问题能够迎刃而解
  ·如何在硬媒体、软媒体和“网络”媒体上对软件发布进行管理
  ·如何杜绝在媒体管理上出现问题
  ·发布版本号的编制和编号及命名:设置客户的期望,避免混淆
  ·如何自始至终地对软件开发过程的管理进行变更控制
  ·建立发布管理和服务的组织化解决方案
  在本书中,迈克尔·贝斯先生提出了以前从未公开出版过的专家级技术,并展示了他如何设计一个连贯的集成和发布过程的设计,这个过程将比你现在正在作的工作要有效得多。如果你在负责一个成功的软件发布,本书将是你今年要买的最重要的一本书。


麻烦给我一定答复。


manasir 2004-01-15
  • 打赏
  • 举报
回复


.lib 是跨平台的吗? 或者有没有更好的跨平台的二进制库。
实际情况可能是:我们公司邀请专家与程序员进行6个月的封闭开发,最后生成一个二进制库供跨平台平台使用,目前我们知道的就是加密的二进制是最安全的了,不知道还有没有其他更加安全的方式。有人要反问我,说什么专家,这些都不懂。我告诉有这样疑问的朋友,我们的专家不会开发的,更不会C的了。


接口变是难免的了,但是要重新编译我不希望是“当然”的事情,如何有什么好的建议。说不一定有人就做过这样的具体事情呢?


看见那么多人回复,感谢大家的参与。
等待高手出手。


xdspower 2004-01-15
  • 打赏
  • 举报
回复
建议购买《软件发布》一书来看看,清华出的,一个老美写的,你的问题基本上都涉及到了。
archim 2004-01-15
  • 打赏
  • 举报
回复
需要保密的部分先编译成.lib,用.h提供接口,最后一起连接就ok了

接口的问题就得事先计划清楚了。如果哪天接口确实改变了,那没办法,免不了所有调用该接口语句都需要做相应的改变,重新编译当然了免不了。
manasir 2004-01-15
  • 打赏
  • 举报
回复

没有这方面的经验,确实很菜。


我知道,在 windows 下,我可以采用 DLL、COM 来组织我的程序,但是到 PLAM 平台上,我就不知道可以不可以了,我在查资料,也想更快知道答案,所以在这里问。


如果都采用 .c, .h 的文件,最后一起编译,就存在部分算法保密的问题,这些算法是专家多年的研究成果(有人要以开源代码来骂我了。。。停)。


如果采用 .obj方式,我对.obj的文件格式不清楚,不知道有没有安全问题。


还有就是,如果大家定义了接口,某天接口变了,所有程序都可能需要重新编译。


我口水多了,因为菜,不知道说清楚了没有?

等待有建议性的答复。
robbit2002 2004-01-15
  • 打赏
  • 举报
回复
1 分工是根据你划分的模块和你组员的战斗力来定的
2 模块的划分和各接口的定义这个可就要看实际情况和系统设计员的能力了
3 数据传递方法也很多
4 产品发布也有很多方式

5 如果项目真的很大的话(100000以上代码)建议你先看看软工方面的资料然后参与一些实际的正规项目,再来做设计.
xinghan79 2004-01-15
  • 打赏
  • 举报
回复
是菜鸟把
9731boy 2004-01-15
  • 打赏
  • 举报
回复
根据项目实际来做.

多人分工最好要做到重用率高.
其他的讲也不讲不清楚.
samstay 2004-01-15
  • 打赏
  • 举报
回复
自顶向下,逐步求精!
sharkhuang 2004-01-15
  • 打赏
  • 举报
回复
不停的写代码就大了哈
manasir 2004-01-15
  • 打赏
  • 举报
回复

to: great_chenliang(Eric)


项目由谁负责不重要,重要的是解决了就好,你说是不是。

manasir 2004-01-15
  • 打赏
  • 举报
回复

to: xdspower

是的,我的问题不是选择什么语言问题,必须选择 C。 现在就是编程的问题了,就是对 C 的认识问题。 因为对 C 的在跨平台方面的不熟悉,引出了做个主题。

非常高兴,现在逐步清晰了,不过还没有完全吃透。继续等待更多的建议。
great_chenliang 2004-01-15
  • 打赏
  • 举报
回复
这个项目由楼主负责?
Aofa_lee 2004-01-15
  • 打赏
  • 举报
回复
就这么去做啊~~~~
加载更多回复(3)

69,335

社区成员

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

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