Datum und Uhrzeit drucken In Visual Studio C ++ Build?

7

Wie würde ich das Datum und die Uhrzeit für die Zwecke des Builds drucken? Dh: Wenn die Konsole für meine Anwendung gestartet wird, möchte ich Folgendes tun:

%Vor%

Ich denke, das wäre eine sehr nützliche Funktion für alle Anwendungen, die Programmierer im Hintergrund haben, besonders in einer Teamumgebung.

Gibt es einen einfachen Weg, dies mit Visual Studio 2008 in C ++ zu tun. Danke.

    
Brock Woolf 02.03.2009, 16:21
quelle

5 Antworten

11

Verwenden Sie die __DATE__ und __TIME__ des Präprozessors.

%Vor%

Damit sichergestellt wird, dass die cpp-Datei, die diesen Code enthält, wirklich kompiliert wird, verwende ich das touch-Dienstprogramm für die Datei als Pre-Build-Schritt: tippe file.cpp

an

Touch.bat:

%Vor%     
Virne 02.03.2009, 16:30
quelle
3

Sie können die Makros __TIME__ und __DATE__ verwenden. Beachten Sie die doppelten Unterstriche. Diese werden zur Kompilierzeit entfernt und Sie erhalten die letzte Kompilierzeit, die in Ihren Dateien gespeichert ist.

    
dirkgently 02.03.2009 16:26
quelle
3

Beachten Sie, dass die Zeit- und Datumsmakros nur wie gewünscht funktionieren, wenn die jeweilige Datei, die sie enthält, garantiert bei jedem Build kompiliert wird.

    
anon 02.03.2009 16:33
quelle
2

Eine Möglichkeit, dies zu tun, wäre die Verwendung der integrierten Makros __DATE__ und __TIME__ . Von MSDN (für VS 2005):

  

__DATE__ :    Das Kompilierungsdatum der aktuellen Quelldatei. Das Datum ist ein String-Literal der Form Mmm dd yyyy. Der Monatsname Mmm ist derselbe wie für Daten, die von der Bibliotheksfunktion asctime generiert werden, die in TIME.H deklariert wurde.

     

__TIME__ :    Die aktuellste Kompilierungszeit der aktuellen Quelldatei. Die Uhrzeit ist ein String-Literal der Form hh: mm: ss.

    
saw-lau 02.03.2009 16:26
quelle
1

Ähnlich wie bei Virne habe ich eine einfache Header-Datei namens "BuildDate.h" mit folgendem Inhalt erstellt:

%Vor%

Ich berühre die Datei mit dem GnuWin32 Touch-Befehl in meinem Pre-Build-Event:

%Vor%

Dann schließe ich die Header-Datei in einen beliebigen Code ein, der Zugriff auf die BUILD_DATE -Zeichenfolge haben soll. Zum Beispiel:

%Vor%     
User 05.12.2012 22:14
quelle