로그인

검색

MoA
조회 수 1493 추천 수 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)

?

  1. Programming 게시판 관련

  2. 정신나간 정렬 알고리즘

  3. RAND_MAX

  4. __FILE__ __LINE__ __FUNCTION__ 등 매크로

  5. C++11 A cheat sheet

  6. fopen 함수가 Multi Thread 에서 안전한가?

  7. memset vs for 초기화. 속도 차이가 얼마나 날까?

  8. Data Conversions

  9. 파일 입출력

  10. ofstream ifstream

  11. C, C++ 에서의 불(bool, boolean) 타입의 동작

  12. Simplified Logger Class

  13. Buffer Overrun

  14. Google의 C++ 라이브러리

  15. fwrite(), fread()

  16. Binary 데이터 저장 by Google

  17. C 언어의 문자형 변수 char - 8비트 정수형 변수

  18. C언어의 변수 float와 double - Float Point 처리

  19. 비트연산자

  20. extern "C" 에 관하여

  21. C++에서 base64로 인코딩

Board Pagination Prev 1 2 Next
/ 2