右頭組織
回答
這裏是一個典型的模式,它可能取決於你的編譯器是什麼提供給你......你有2種編譯過程中包括路徑:
- 用戶頭搜索路徑,用雙引號表示
#include "header.h"
標題名稱,這些通常僅用於您正在處理的項目;因爲你不會通過這種方式來處理庫標題。 - 系統頭搜索路徑,由尖括號表示
#include <mylib/header.h>
,這也可以用於你的圖書館...
讓我們來想象下面簡單的場景......
項目A依賴於庫一。
在lib_a我們有一個C文件和2頭...
lib_a.c
,lib_a.h
和lib_a_internal.h
當你建立lib_a.c您使用以下包括:
#include "lib_a.h"
#include "lib_a_internal.h"
在生成腳本
,你會在你的系統某處lib_a.h
複製到include/lib_a/lib_a.h
不是你的真實系統頭標頭路(也許,但構建具體之一,這取決於你想如何原子和複雜的是。)
您也可能會複製你的lib_a.a
(或.so
或.dyld
,或.dll
),以lib/lib_a.a
其中lib
通常高於include
同行。
那麼當你建立一個項目使用下列內容:
#include <lib_a/lib_a.h>
爲什麼不把它們放到單獨的目錄中並在構建過程中使用標誌來獲取相應的目錄?
將lib的源代碼留在內部頭文件中,並將頭文件將lib的外部API原型化爲/usr/include/<your lib's name without the prefix "lib">
。
Alternativly把外部頭以/usr/lib/<your lib's name without the prefix "lib">/include
和鏈接/usr/include/<your lib's name without the prefix "lib">
後者。
這使您可以在/usr/lib/<your lib's name without the prefix "lib">/include
下將其他文件放置到lib中。例如etc
中的配置設置,然後可以從/etc/<your lib's name without the prefix "lib">
鏈接。
我認爲這在開發圖書館時沒有多大意義。 (例如,'/ usr'中的文件不受版本控制。) – svick
- 1. 如何組織頭文件
- 2. Desire2Learn:以SIS組織代碼開頭,檢索組織編號
- 3. 頭痛的設計Symfony2捆綁組織
- 4. 組織HTML文件的標頭
- 5. C++頭文件包括組織
- 6. 如何在Linux中組織頭文件
- 7. Linux內核頭文件的組織
- 8. 右鍵平移織物js
- 9. 數組組織
- 10. 如何組織和組織嵌套類
- 11. 組織信息軟件開發組織
- 12. 刷新組織架構組織模式
- 13. Salesforce組織對組織對象遷移
- 14. 更改組織結構圖的方向從左到右
- 15. 右對齊箭頭
- 16. 左,中,右的頭
- 17. 組織Javascript數組
- 18. 組織MEF組件
- 19. 組織數組c#
- 20. 組織VB.Net Mehods
- 21. 應用組織
- 22. 組織的XSD
- 23. 組織包括
- 24. 賽程組織
- 25. Git組織
- 26. Android組織RelativeLayout
- 27. MySQL表組織
- 28. 您的組織
- 29. 組織memcache鍵
- 30. SQL表組織
聽起來像你這樣做,通過思前想...'#包括「somepublic.h」'和'的#include的一個不錯的工作或'#include '或'#include '...我只是繼續擴展這個評論,我想我會做出回答 –