메뉴 건너뛰기

OBG

Programming

MoA
조회 수 601 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
#include <iostream>
using namespace std;

void MacroTest()
{
cout << "함수 이름: " << __FUNCTION__ << endl;
cout << "이 부분이 실행되고 있는 라인 번호: " << __LINE__ << endl;
cout << "현재 파일 이름: " << __FILE__ << endl;
cout << "가장 최근에 컴파일된 시간: " << __TIME__ << endl;
cout << "가장 최근에 이 파일이 수정된 시간: " << __TIMESTAMP__ << endl;
}

int main()
{
MacroTest();
return 0;
}


__FUNCTION__의 경우 Visual Studio에서 지원하는 매크로이며 표준은 아니다. 표준은 __func__


유니코드 환경에서는 TEXT(__FILE__) 같이 문자열 상수를 유니코드로 바꾸려하면 에러난다.

L"파일명"으로 바뀌는게 아니라 L__FILE__ 로 바뀌기 때문.(TEXT 매크로 우선 실행)

그러므로 아래와 같이 매크로를 새로 정의한다.


#define WIDEN(x) L ## x
#define __WFILE__ WIDEN(__FILE__)

__FILE__ 대신 __WFILE__을 사용하면 된다.

물론 const char*를 const wchar_t* 로 변환하는 함수를 사용하는 방법도 있으나 매크로보단 어렵다.


출처 : http://blog.naver.com/sorkelf/40140962401

참고 : http://msdn.microsoft.com/ko-kr/library/b0084kay(v=VS.90)

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 Tool/etc Programming 게시판 관련 2 MoA 2014.11.01 1709
7 C/C++ C++11 A cheat sheet MoA 2013.08.21 313
6 C/C++ C, C++ 에서의 불(bool, boolean) 타입의 동작 MoA 2013.07.28 311
5 C/C++ C 언어의 문자형 변수 char - 8비트 정수형 변수 MoA 2013.07.28 2239
4 C/C++ C Runtime 환경의 메모리 릭 잡는 방법 (Memory leak) Naya 2012.08.02 416
3 C/C++ Buffer Overrun MoA 2013.07.28 398
2 C/C++ Binary 데이터 저장 by Google MoA 2013.07.28 323
» C/C++ __FILE__ __LINE__ __FUNCTION__ 등 매크로 MoA 2014.01.02 601
Board Pagination Prev 1 2 Next
/ 2
위로