2013-06-18 5 views
2

내가 몇 가지를 알아 내기 위해 노력 .cpp을 읽고있다 정의와 함께하는 코드를 같이하지 :@ 연산자는

some_function() 
{ 
    CustomClass some_sort_of_list; 
    string sample; 
    if (sample != "") { 
     some_sort_of_list = @BOING(args); 
    } 
} 

사람이 전에 @ 연산자를 본 사람, 또는 그냥 #define 하나 어딘가에서 사용되는 헤더 파일 중? 나는 헤더에 접근 할 수 없다. @Captain Obvlious, 나는 무슨 일이 일어나고 있는지 볼 수있다 모양의 Visual C++ 초기 버전을 언급 한 이후

...

PS : 나는 이름이 가지고 충분히 명확하지의 경우도 언급해야한다 이 출처를 공유 할 수있는 라이센스가 있는지 여부를 알 수 없으므로 변경되었습니다. 주요 이슈는 @SOMETHING입니다.

PPS : 의견이 일본어로되어 있으며 원본 저자에게만 액세스 할 수 있습니다.

+0

C++이 아닌 C#입니까? – Joey

+1

IIRC VC++의 이전 버전은 식별자에'@'를 허용합니다. –

+1

코드 생성에 사용되는 토큰처럼 보입니다. 즉, 코드 생성기는'@ GEN'을 다른 것으로 대체 할 것입니다. – Gabe

답변

3

이것은 표준 C++가 아니며, @으로 시작할 수 없기 때문에 #define으로 합법적이지 않습니다.

그것은 아마도 실제 C 컴파일러에 전달하기 전에, C 함수 호출로 EXEC SQL을 설정할 수 있습니다 오라클의 프로 * C 컴파일러와 같은 어떤 종류의 사전 프로세서를 통해 실행됩니다 뭔가.

가장 좋은 방법은 "이 @GEN 출력을위한 로케일 특정 문자열을 검색 할 수있는 국제화 된 응용 프로그램입니다?"와 같은이 코드의 실행 환경, 생각하는 것입니다.

그리고 코멘트가 일본어로되어 있기 때문에 적어도 Google Translate을 시도해야합니다. 복잡한 구문에 대해 때로는 우스꽝스러운 결과를 가져올 수 있지만 필요한 단서를 제공 할 수도 있습니다.

+0

고마워. IRC의 누군가는 아직 익숙하지 않은'autotools'와 관련이 있다고 제안했습니다. – icedwater

+1

@icedwater, 나는 automake와 그 형제들에게서'@xx()'문법을 본 적이 없다. – paxdiablo

+0

나는 물론이다. 일본어도 제가 배우고 자하는 언어 중 하나이기 때문에 유용합니다. 나는 당신이 당신의 문제를 그릴 수 있기를 바랍니다. 네, 적어도 3 개 언어를 제공하는 응용 프로그램의 일부입니다 - 어떻게 여기에 관련성이 있습니까? * – icedwater