比较大型的C语言项目,通常代码是如何组织的?

ilovewestlake 2010-01-04 09:09:07
比较大型的C语言项目 .c,.h文件会比较多吧,

怎么去编译这些文件,并打包成一个可执行文件呢?

在windows下,linux下分别是怎么编译,打包的?
...全文
1046 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
cattycat 2010-01-05
  • 打赏
  • 举报
回复
linux下不同模块分不同的目录,最后有makefile文件,都是自己写的,makefile也很长呢。
zhangwenlang 2010-01-05
  • 打赏
  • 举报
回复
分成各个模块,一个一个调试。
ilovewestlake 2010-01-05
  • 打赏
  • 举报
回复
还是没有找到答案
james_hw 2010-01-05
  • 打赏
  • 举报
回复
windows和VxWorks下都有专门用于开发的IDE,这些编译器的规则我们可以不用关心,只要确保自己的头文件包含正确即可。

linux下比较麻烦,需要写makefile来说明连接规则,一般有专人负责这项任务(一般是项目经理),有兴趣可以自己研究一下,每次一看makefile就头大
laodvae_mao 2010-01-05
  • 打赏
  • 举报
回复
好深奥哦
ilovewestlake 2010-01-05
  • 打赏
  • 举报
回复
楼上的XD,谢 了啊,
james_hw 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ilovewestlake 的回复:]
还是没有找到答案
[/Quote]

在项目中,有很多个.c,.h文件,一般是按照模块划分的,每个模块一个文件夹,文件夹里放着跟模块相关的所有.c和.h文件。

当include头文件时,需要告诉编译器该头文件的地址,有两种方法,一种是直接告知其头文件的地址,例如
include "../test/test.h",另外一种则是通过编译环境设置告知其头文件的地址。(makefile的链接很麻烦,最好自己看看书籍,其实我也不是很懂)

编译器每编译一个.c文件,都会生成一个object对象,编译完所有的源文件后,将所有生成的对象链接起来,变成一个可执行文件
liujiaji 2010-01-05
  • 打赏
  • 举报
回复
写一点代码,就写一些makefile

慢慢积累!

差不多了,该结贴了
赵4老师 2010-01-04
  • 打赏
  • 举报
回复
打开以下文件看一下
*.dsp
*.sln
*.mak
makefile
.vcproj
……
askquestion1 2010-01-04
  • 打赏
  • 举报
回复
我见过的项目都是自己写的Makefile,没有去用automake那些工具,也有20万行的规模。
事先会分好模块的。
linux下的先用gcc -c 编译成.o的中间代码,
之后将各个人的汇合起来就可以了。

Windows下的是用dll实现的。
漂流的代码 2010-01-04
  • 打赏
  • 举报
回复
makefile, autotools(autoscanf, automake等)
东大坡居士 2010-01-04
  • 打赏
  • 举报
回复
用windows模拟linux也是用makefile,
有很多.min文件,很多mak文件,最终都通过cmd编译
z569362161 2010-01-04
  • 打赏
  • 举报
回复
你的问题太难回答了。
这个怎么说啊!
jernymy 2010-01-04
  • 打赏
  • 举报
回复
linux下的 makefile
ilovewestlake 2010-01-04
  • 打赏
  • 举报
回复
那IDE是怎么去编译打包的呢?
kingstarer 2010-01-04
  • 打赏
  • 举报
回复
是啊 我也有这个疑问

一直没参与过大项目开发

都是写小程序
clhposs 2010-01-04
  • 打赏
  • 举报
回复
-_- windows下的IDE太方便了

69,335

社区成员

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

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