문제

에 문제가 없습니다게 만들 수있는 MS 의 T4 코드 템플릿 생성 시스템에 적합 생성하기 위한 C++코드?

도움이 되었습니까?

해결책

C ++ 코드를 포함하여 원하는 텍스트를 생성 할 수 있습니다.

다른 팁

비트 길이 대답은 아직 생각하는 일부를 찾을 수 있습 그것은 흥미로운

내가 말할 것 T4 수를 생성하는 C++에

일부할 수 있습 통렬한 반박하는 C++에서 이미 있는 도구를 할 메타 프로그래밍으로 다음과 같:

전처리기

를 사용하는 전처리기와 높은 순서 매크로에 당신을 달성할 수 있소 당신은 무엇을 할 수 있으로 T4,나는 너희에게 이르노니 너희 원수를 거기에 몇 가지 매우 설득력 있는 혜택의 T4:

  1. 생성된 코드에서 T4 쉽게 디버깅하고 이해
  2. 메타 프로그래밍 T4 하는 것보다 더 간단으로 전처리기.전처리기는 할 수 있는 매크로 다음과 같 최대/최소한도 쉽게 충분한지에 대해 이야기 할 때 우리는 모델 템플릿 중심의 그것이 어려울
  3. T4 보다 더 강력 전처리기는 쉽게 개발하는 템플릿
  4. T4 실행할 수 있습의 한 부분으로 구축하는 프로세스 또는 on-demand

부분적인 템플릿 전문성

내가 사랑하는 부분 템플릿을 전문화하지만 나는 말에서 경험하는 모든 사람이 사랑을 유지하는 그들.

난 항상 노력한 코드를 줄이기 위해 중복을 높이기위한 노력의 일환 관리할 수 있습니다.또한 내가 선호하는 컴파일 타임 오류를 통해 런타임 오류 가능한 경우.그래서 읽은 후에 현대적인 C++에 의해 안드레이 Alexandrescu 생각이 발견 응답.

내가 쓴 구성 요소에 의해 영감을 이 책에는,그리고 갔습니다.로 돌아왔을 때 팀을 던으로 구성을 했고 자신을 사용하여 전통적인 기술입니다.그것은 포함된 코드를 더했 다음에도 좋지 않았을 수행뿐만 아니라 그러나 그들은 수 없는 그림을 추가하는 방법 기능을 구성 요소가 기록했고 그들은 결정을 해야 했다.아무것도 수 있습 회수.이러한 스마트한다.

그들은 잘못을까?의 관점에서 유지 관리가 말할 것 그들이 올바른 선택하더라도 그것이 나를 슬프.

내 포인트 이 anechdote 는 T4 는 어떤 혜택을 통해 부분적인 템플릿화 트:

  1. 생성된 코드에서 T4 쉽게 디버깅하고 이해
  2. T4 단
  3. T4 더 강력
  4. T4 실행할 수 있는 파트의 빌드 프로세스 또는 on-demand
  5. 면 관리자들을 얻을 수 있는 주위에 그들의 머리 T4 템플릿 그들은 여전히 회수 코드(시작을 유지 생성된 코드를 던져 버린 템플릿).지 않은 가능한 anechdote 니다.

의 과정에서는 C++메타 프로그래밍의 조합처리기와 부분 템플릿을 전문화를 만들었습니다.

단점

단점이 있 T4 정

  1. 그것은 Visual Studio 특정(또는 모노의 특정).그러나 코드를 생성할 수 있습을 컴파일할 수 있는 프로그램 및 다른 사람입니다.
  2. 그것은 비표준
  3. Visual Studio C++프로젝트지 않는 것을 지원 T4 는 힘을 사용하여 더미입니다.NET 프로젝트를 생성하는 코드 frmo.

포장

모든 모두가 관심을 잃었을하고 고급 메타 프로그래밍 C++을 사용하여 멋진을 전처리기 또는 형식 시스템(나는 그들을 사용한 간단한 작업을하지만)및에 의존하 T4 는 이러한 일입니다.

사람이 관심이 있다면에서 샘플에 그것을 어떻게 C++에서 확인할 수 있습 out InteractiveGraphics.그것은 라이브러리를 위한 C#,VB,PowerShell 및 SmallBasic 지 간단한 그래픽습니다.내가 사용하 T4 를 생성하는 모든 Api 및 상용 코드에 대한 메시지를 전달하는 사이 있습니다.물 및 C++(를 사용하지 않는다면 내가 그것을 피할 수 있습니다 모두)에서 모델을 설명하는 API 입니다.를 추가하는 새로운 방법은 다음으로 간단 모델을 확장 및 재생 모든 temlate 파일에,나를 구현하는 추상적인 방법에서는 C++및을 수행합니다.

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