c preprocessor 처리 시에 멀티라인

spacelee의 이미지

#define FUNC(a,b,c) \
    a   = 1;        \
    b   = a+2;      \
    c   = b+3;

int main()
{
    int i, a,b,c;

    FUNC(a,b,c)
}

이런 소스를 cpp로 전처리하면

int main()
{
        int i, a,b,c;

        a = 1; b = a+2; c = b+3;
}

이렇게 나옵니다.

멀티라인 매크로를 전처리 했을때
멀티라인으로 나오게하는 방법이 없을까요?
man을 아무리 뒤져봐도 잘 못찾겠네요. ㅜㅜ

cinsk의 이미지

특정 전처리기가 그런 기능을 제공할 가능성이 없다고 말하기는 힘들겠지만. 거의 없다고 보면 맞습니다. 왜냐하면 소스를 처리할 때, \ 그리고 newline 문자로 구분되는 여러 줄은 하나의 줄로 인식되기 때문입니다.