ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 매크로(전처리기)
    backup/c,c++ 2009. 12. 29. 18:46

    1. ##
       열강에서 필자가 아직 알 필요없다면서 대충 넘어간 부분... 어쩌다 대충 알게된 간단한 이유를 정리해 본다.
       모두가 알만한 윈도우 프로그래밍(win32 API, MFC, visual basic,...)등을 하다보면 배열로 선언한게 아니지만
       객체들을 배열처럼 접근해야 할 때가 있다.
       예를 들어 이름이 obj인 객체가 obj1, obj2, obj3....식으로 있다면 분명 배열은 아니지만
       배열처럼 접근하는게 훨씬 용이할 것이다.
       이럴 때 

       #define OBJ obj
       #define cat(a,b) a##b
       처럼 매크로함수로 선언하고 사용시에(문법은 C를 이용했다.. 아직 윈도우즈 프로그래밍은 모르는 관계로...)
       for(i=0;i<10;i++)
          cat(OBJ,i) = i;
       이런식으로 하면 개별 객체들을 배열처럼 접근해서 처리할 수 있다.

    2. 표준매크로
       표준매크로가 책(열강)에 _FILE_ _TIME_ _DATE_ _LINE_ 로 보이는데 사실,
       __FILE__ __TIME__ __DATE__ __LINE__ 가 맞다.

Designed by Tistory.