문제

어떤 편집자엄 C#line 지침과 관련하여 고토인 기능이?

Context: 내 코드를 발생기 및 이동해야의 라인을 출력 그러나 선은 상대적으로 지정되#line 지시어를 추가하.나는 삭제할 수 있습니다 그들만 찾는 다음 입력 라인에도 악화통

도움이 되었습니까?

해결책

경우 편집인은 스크립트로 작성해야한 가능한 스크립트를 작성 할 수있다.수도 있습니다 Vim 또는 이맥스는 스크립트가 이미가 비슷합니다.

FWIW 때 나는 많이 쓰 Bison/Flexx 썼 Lua 매크로 스크립트는 시도 비슷한 일을(즉이동 입력 파일에서 해당 라인의 출력 파일을 검색하여#line 마커).

중 하나에 대한 관심이 있을 수도 있습니다 는 특정 매크로 스크립트입니다.

다른 팁

#line 지시어들은 일반적으로 삽입하여 프리컴파일러가지,소스 코드,그래서 편집자가 없는 일반적으로 명예는 경우는 파일의 확장자 .c.

그러나,정상적인 파일 확장자에 대한 후 컴파일된 파일은 .i.gch, 다,그래서 당신이 시도할 수 있는 사용하는 어떻게 볼 것입니다.

나는 사용 다음과 같은 헤더 파일에서 때때로 생성 클릭 가능한 항목에 이 VC6 및 최근 VS(2003+)컴파일러 ouptut 창입니다.

기본적으로,이는 사실을 이용 항목을 출력에서 컴파일러 출력 은 본질적으로 분석되는"경로(LINENUM):메시지".

이 가정에는 Microsoft 컴파일러의 처리의"pragma 게".

이것은 아주 정확하게 당신했습니다.하지만 그것도 일반적으로 도움이 될 에 도착하는 무언가를 당신을 얻을 수 있는 컴파일러를 방출하는 몇몇 편집자 명예 수 있습니다.

    // The following definitions will allow you to insert
    // clickable items in the output stream of the Microsoft compiler.
    // The error and warning variants will be reported by the
    // IDE as actual warnings and errors... which means you can make
    // them occur in the task list.

    // In theory, the coding standards could be checked to some extent
    // in this way and reminders that show up as warnings or even
    // errors inserted...


    #define strify0(X) #X
    #define strify(X) strify0(X)
    #define remind(S) message(__FILE__ "(" strify( __LINE__ ) ") : " S)

    // example usage
    #pragma remind("warning:  fake warning")
    #pragma remind("error:  fake error")

나는 그것을 시도하지 않았는 그러나 그것은 여전히 작동합니다.

사용 sed 또는 유사한 도구를 번역#선하는 다른 뭔가를 해석하지 않은 컴파일러에 의해,그래서 당신은 C 에 오류 메시지를 실시 라인,하지만 참조하여 원래의 입력 파일이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top