如何组织软件模块的代码结构?

版权声明:本文为博主原创文章,仅供学习参考,转载请注明出处,谢谢! https://blog.csdn.net/Rong_Toa/article/details/82287178

在编码过程中,一般只负责部分模块的开发,并且某些开发过程中会有一些公共支撑库,这时候就需要考虑到代码的目录结构,我常常采用linux的目录结构开发,但是常常这并不是一种好的方法,在模块内部采用Linux目录式的开发,把最终可执行文件放到bin目录下,把源文件放到src目录下,把动态库放到lib目录下,把头文件放到include目录下,但是这仅仅限制于自身模块,比如在开发过程中,常常需要公共支撑库的内容,这时候就不能简简单单用linux目录结构来解决。

由于我个人习惯使用linux下的命令行,所以一般Makefile也都是自己敲,在过程中遇到了很多的问题,这也是为什么有人说没在命令行下编译过程程序是一大遗憾[苦笑]。

可以采用的结构是:

$ tree
.
└── software
    ├── common
    │   ├── include
    │   │   └── 存放公共库的头文件
    │   └── src
    │       └── 存放公共库的源文件
    ├── debug
    │   ├── common
    │   │   └── src
    │   │       ├── subdir.mk
    │   │       └── 存放编译输出文件.o
    │   ├── Makefile
    │   ├── module1
    │   │   └── src
    │   │       ├── subdir.mk
    │   │       └── 存放编译输出文件.o
    │   ├── module2
    │   │   └── src
    │   │       ├── subdir.mk
    │   │       └── 存放编译输出文件.o
    │   ├── object.mk
    │   └── source.mk
    ├── main.c
    ├── module1
    │   ├── include
    │   │   └── 存放module1的头文件
    │   └── src
    │       └── 存放module1的源文件
    └── module2
        ├── include
        │   └── 存放module2的头文件
        └── src
            └── 存放module2的源文件

猜你喜欢

转载自blog.csdn.net/Rong_Toa/article/details/82287178