2012-08-11 2 views
13

내 (상대적으로) 이전 C++ 컴파일러 :법적 C++ 사전 처리 지시어 구문을 사용하여 부스트합니까? 로 밖으로 시작 부스트에서 <a href="http://www.boost.org/doc/libs/1_50_0/boost/preprocessor/tuple/eat.hpp" rel="nofollow">this</a> 파일에 숨 막혀

# /* Copyright (C) 2001 
# * Housemarque Oy 
# * http://www.housemarque.com 
# * 
# * Distributed under the Boost Software License, Version 1.0. (See 
# * accompanying file LICENSE_1_0.txt or copy at 
# * http://www.boost.org/LICENSE_1_0.txt) 
# */ 
# 

이 정말 법적으로 C++? 선처리 프로세서 토큰 구문에 대한 규칙은 무엇입니까?

+0

오, 안돼! 터보 C++도 사용하지 말라고 !! –

+0

@CodyGray : 천국, 안돼! 그것은 오래된 VC 컴파일러였습니다. – Mehrdad

+0

VC 4.0은 어떤 버전입니까? 나는 왜 당신이 업그레이드 할 수 없는지 궁금하다 – Viet

답변

22

예에만 # 및 공백 문자를 포함하는 행 명시 표준 §16 [CPP 의해 허용된다

제어 라인 :
# include PP-토큰 개행
# define 식별자 교체 - 새로운 라인을 나열
# define 식별자 lparen 식별자리스트 옵트) 교체리스트 개행
0 ...) 교체리스트 개행 lparen 12,식별자
# define 식별자 lparen 식별자리스트 , ...) 교체리스트 개행
# undef 식별자 개행
# line PP-토큰 개행
# error PP-토큰 옵트 새로운 온라인
# pragma PP-토큰 옵트 새로운 온라인
코멘트 번역 3 단계에서 공백으로 대체됩니다새로운 온라인

주, 즉 전처리 전에이다.

+1

+1. 마지막으로 내가 찾던 모든 것이고 실제로'# new-line'이라는 질문에 답합니다. – Nawaz

+3

@Nawaz : OP는 "선처리 프로세서 토큰의 구문에 어떤 규칙이 있습니까?"라고 묻습니다. 따라서 일부 컨텍스트를 제공하면 해를 끼치 지 않습니다. – ybungalobill

+0

@ Nawaz : 하하가 내 게시물의 편집 내역을 살펴 봅니다. 재미있었습니다. :) – Mehrdad