2011-10-02 65 views
2

通常的做法是不包括源代碼控制庫中的二進制文件,我使用的是mercurial,並且想知道是否有人有嵌入版本的經驗(minor + major )在C二進制文件中,以便當它的分佈式,如果我使用像mybinaryApp - 版本的命令行參數,我會得到一個獨特的版本,我可以在構建時控制。我如何「版本」在Linux平臺上的C二進制文件

+0

您使用的是哪種C編譯器? –

+0

@ Foo Bah我正在使用gcc – kamal

回答

0

我在代碼中嵌入版本號的方法是在單獨的頭文件中將#define _VERSION_MAJOR包括在需要版本號的文件中,然後在需要的地方使用該宏。然後,您可以自由地在不同的源文件中控制版本號,而無需不斷修改原始文件。

這是大多數高級工具所做的事情的本質。

或者,如果您想要構建特定標記,則可以使用__DATE____TIME__來插入構建時間。

0

通常的方法是使用自動工具(autoconf & automake & autoheader &等)。他們使包含文件config.h可用,並且該文件定義了可以用--version打印的PACKAGE_VERSION宏。

此過程獨立於版本控制。原因很簡單,你需要將你的項目作爲源代碼壓縮包發佈,而且人們必須構建該壓縮包才能訪問你的版本控制。

相關問題