模組化開發-C++的模組化開發架構
C++ 模組化開發架構,能像 Python 的 whl 套件一樣方便引入、重用,並且能被多個 CLI 專案共享。下面我幫你規劃一個完整的架構設計,並附上分層思路與工具選擇。
whl 一樣,封裝成可分發的二進位或 source package。pip install 一樣,快速引入第三方函式庫。建議採用 CMake + Conan/vcpkg 的組合,專案結構如下:
Code
project-root/
│── cmake/ # 共用 CMake 模組
│── libs/ # 自研函式庫 (模組化)
│ ├── image_processing/ # 範例模組
│ │ ├── include/ # 公開 API header
│ │ ├── src/ # 實作
│ │ └── CMakeLists.txt
│ ├── math_utils/
│ │ └── ...
│── apps/ # CLI 應用程式
│ ├── cli_tool_A/
│ │ └── CMakeLists.txt
│ ├── cli_tool_B/
│── CMakeLists.txt # 頂層
│── conanfile.txt # 套件依賴
libs/xxx 模組都編譯成 靜態庫 (.a/.lib) 或 動態庫 (.so/.dll)。whl,可上傳到私有/公開 Conan server。CMakeLists.txt 管理所有模組,CLI 專案只需 target_link_libraries(cli_tool_A PRIVATE image_processing math_utils)。whl 一樣。whl 的便利性Python whl |
C++ 對應方案 |
|---|---|
pip install package |
conan install package 或 vcpkg install package |
| 模組封裝成 wheel | 模組封裝成 Conan/vcpkg package |
| 多專案共用 site-packages | 多專案共用 Conan/vcpkg cache |
| 發布到 PyPI | 發布到 Conan server / vcpkg registry |
find_package() 或 conan install。| File13 | File | Last Modified |
|---|---|---|
| 推薦網站 | 推薦網站 | 1:23 AM - December 07, 2025 |
| MISRA C++類似針對某應用規範的標準 | MISRA C++類似針對某應用規範的標準 | 1:23 AM - December 07, 2025 |
| MISRA C++ | MISRA C++ | 1:23 AM - December 07, 2025 |
| Design Pattern | Design Pattern | 1:23 AM - December 07, 2025 |
| CPP | CPP | 1:23 AM - December 07, 2025 |
| C++的演進與比較 | C++的演進與比較 | 1:23 AM - December 07, 2025 |
| C++23 | C++23 | 1:23 AM - December 07, 2025 |
| C++20 | C++20 | 1:22 AM - December 07, 2025 |
| C++17 | C++17 | 1:22 AM - December 07, 2025 |
| C++14 | C++14 | 1:22 AM - December 07, 2025 |
| C++11 | C++11 | 1:22 AM - December 07, 2025 |
| About Visual C++ | About Visual C++ | 1:22 AM - December 07, 2025 |
| 模組化開發-用 CMake + Conan 封裝並重用 C++ 函式庫 | 模組化開發-用 CMake + Conan 封裝並重用 C++ 函式庫 | 8:20 PM - December 06, 2025 |