如何組織軟體模組的程式碼結構?

Koma_Wong發表於2018-09-01

在編碼過程中,一般只負責部分模組的開發,並且某些開發過程中會有一些公共支撐庫,這時候就需要考慮到程式碼的目錄結構,我常常採用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的原始檔

 

相關文章