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.
Verwenden Sie die __DATE__
und __TIME__
des Präprozessors.
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
anTouch.bat:
%Vor% 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.
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.
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.
Ä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:
Tags und Links c++ datetime visual-studio compiler-construction