我需要一個編譯時項目配置文件來配置幾個C++項目。 我的設置是這樣的:幾個C++項目的編譯時配置
- 我有三個C++項目,它們的靜態庫之一:proj1,proj2,LIB1
- 兩個proj1和proj2使用LIB1
- proj1和proj2編譯成可執行文件上運行不同的Arduino板
- 所有三個項目需要配置變量(EH UDP端口的使用,調試水平等)
- proj1和proj2實際上是非常相似,並有許多的配置變量值
- proj1和proj2需要不同的配置值,也用於lib1
我需要一個簡單的解決方案來配置所有三個。 我需要它的資源使用率很低,因爲我受內存限制(部署在Arduino上)。
我的第一個解決方案是每個項目中的configuration.h文件,其中包含各個項目的#define。
此方法存在問題:我無法爲proj1/proj2中的lib1定義不同的值。比方說,lib1定義UDP_PORT,那麼我不能在proj1/proj2中指定一個lib1實際使用的不同的UDP_PORT。
當然,我可以在運行時將所有這些配置值作爲參數傳遞。爲了節省內存和運行時間,我寧願編譯時解決方案。
2號,但在傳遞命令行端口您問題,這可能是一個非常糟糕的主意,將udp端口硬編碼到您的程序中... – 2011-12-08 00:29:44