2011-04-09 57 views
2

最近我在XNA和AssemblyInfo源文件中構建了一個遊戲,我可以將AssemblyVersion設置爲xx *,並且它會將構建和修訂設置爲編譯項目的日期和時間。我現在正在用C++做一個項目,我想知道如何複製這個功能。這兩個,以便exe文件顯示該版本和我可以以編程方式獲得它的方式。謝謝。添加生成日期(VS 2010 - C++)

+0

看到這個問題的答案:[打印日期和時間在Visual Studio C++編譯](http://stackoverflow.com/questions/602936/print-date-and-time-in-visual-studio -c-build) – User 2012-06-22 16:01:14

回答

3
+0

它們確實有用,但afaik不是非常準確:在VS中,您可以編譯單個文件a.cpp,幾周後回來,更改其他所有內容,然後構建整個項目。放入a.obj的日期仍然是原來的日期。 – stijn 2011-04-09 07:34:20

+0

@stijn你確定嗎? (我很感興趣,因爲我使用__DATE__相當多)並且從未觀察到這一點。 – RedX 2011-04-09 08:39:23

+0

我只是再次測試它,是的,我相信它的工作方式。以任何DLL/EXE項目,添加 #define字符串大小(x)字符串i(x) #define stringizei(x)#x const char * date =「myTime」stringize(__ TIME__); 到源文件,編譯它,等待一段時間然後構建。在文本編輯器中打開可執行文件並查找「myTime」,您將看到原始時間。 – stijn 2011-04-09 09:42:26

0

添加DATE宏是一個很好的解決方案,我相信。

The compilation date of the current source file. The date is a string literal of the form Mmm dd yyyy. The month name Mmm is the same as for dates generated by the library function asctime declared in TIME.H.