平时开发一般都处于单平台、集成的IDE环境下。因此,基本上采用的是默认的开发目录结构。
无论VS,或QNX集成开发环境,都默认采用的是源码及工程文件都放在一个工程文件夹之下。在单平台下,这种组织方式没有问题,而在多平台下,不同平台的工程文件就会混在一起。所以尽量将不同平台的工程文件分离开来。
一般开发的文件的分类:
头文件
源码文件
引用的库文件/程序文件
编译文件/工程文件
制定公共头文件的好处:隐藏或保留模块的具体实现。
在多个项目工程环境下:
两种目录方式:
1. 方式一: 工程文件与其对应的源码文件不分离。
project
project
...
project
每个project下面拥有各自的include, src, project文件夹;project下面再是windows项目工程文件夹
2. 方式二: 工程文件在windows下与其对应的源码文件相分离
项目源码文件夹,源码文件夹下仅包含include和src,不包含项目文件
项目源码文件夹
...
windows项目文件夹,每个项目包含以上项目源码的工程文件。
两种方式各有优缺点:
1. 各个项目的源码和工程文件可以单独管理,移动性比较好。
2. 工程文件集中管理,查看设置方便,但移植到其他项目进行复用时,需要分别移动源码和工程文件。略显麻烦。
项目里拥有很多个工程文件时,采用方式二的比较多。并且工程文件集中放在一起,可以进行批处理修改工程属性。
VS项目的逻辑和物理存放方式是不同的,所以两种方式都能支持,而一些qnx,linux只能将mk文件存放在src下。而某些开源软件,为便于区分linux和windows,采用第二种方式。
其实两种方式都可以。同实际已有的方式保持一致即可。
-----------------------------------------------
源码管理:
perforce、svn 常用功能
版本控制:
add(filter功能,只上传hpp,cpp,h,c,sln,proj.),delete(revert),update
perforce最重要的是写好 depot与local的对应关系。
分支,合并,同步(待熟练)
。。。