혹시 다른 실행 파일의 컴파일 날짜를 읽어 올 수도 있나요?
실행 파일이 여러게 있을 경우 각각의 컴파일 날짜를 보여주고 싶을 때
이 전처리기에 의해 저장된 바이너리 값을 읽어오는 방법이 있나요?
빌더(TWx) 님이 쓰신 글 :
: 송신영 님이 쓰신 글 :
: : 저도 실행파일의 컴파일 시간을 가져와서 버전표기에 사용하려고 만든 코드입니다.
: : 참고가 되시길...
: :
: :
: : TDateTime __fastcall GetFileWriteTime(AnsiString sFilePath)
: : {
: : TSearchRec sr;
: :
: : TDateTime DateTime;
: : //TDateTime DateTimeTmp;
: :
: : if (FindFirst(sFilePath, faAnyFile, sr) == 0) {
: : //do {
: : if ((sr.Attr & faDirectory) != faDirectory) {
: : //DateTimeTmp = sr.TimeStamp;
: :
: : FILETIME TempTime;
: : SYSTEMTIME SystemTime;
: :
: : FileTimeToLocalFileTime( &sr.FindData.ftLastWriteTime, &TempTime );
: : FileTimeToSystemTime( &TempTime, &SystemTime );
: :
: : DateTime = SystemTimeToDateTime(SystemTime);
: :
: : }
: : //} while(FindNext(sr) == 0);
: : }
: :
: : FindClose(sr);
: :
: : //Return.
: : return DateTime;
: : }
: :
: :
: : 뽀뽀중 님이 쓰신 글 :
: : : 프로그램에 릴리즈 컴파일을 수행한 날자 시간을 알고 싶습니다.
: : : (프로젝트를 컴파일을 수행한 날자 및 시간)
: : :
: : : 목적은 프로그램 중 가장 최근에 릴리즈 컴파일을 수행한 시간을 자동으로 입력 하려고 합니다.
: : : (About 창에 캄파일을 한 날자 시간을 표시 하려 합니다)
: : :
: : : 어떻게 해야 하나요?
:
:
: 답변:
:
: C/C++ 컴파일러는 컴파일러 자체에서 builtin 매크로로
: __DATE__, __TIME__ 를 갖고있기 마련 입니다.
:
: 컴파일러는 컴파일시에 시스템 날짜와 시간을 알아내서 저 빌트인 매크로 값을 치환해서 바이너리에 넣게 됩니다.
:
: String buildDateTime = String(__DATE__) + L" : " + String(__TIME__);
:
: C/C++ 랭귀지 기초 인데요...
|