문제

나는 우리 팀에게 VC6 신청서를 VC2005로 포트하도록 요청하고 있었는데, 언젠가는 같은 일을 할 준비가되어 있습니다.

나는 그들이 표준 준수를 준수한다는 것이 무엇을 의미하는지 실제로 이해하지 못합니다.

포팅을 수행 할 수있는 이점을 나열하도록 도와주세요.

내가 직면하고있는 문제

1) 표준 컨테이너에 대한 디버깅 지원이 없습니다

2) 부스트 라이브러리를 사용할 수 없습니다

3) 우리는 많은 쿼리 생성을 사용하지만 안전하지 않은 CSTRING 형식 기능을 사용합니다.

4) >>와 같은 VC6 문제를 촬영하는 데 많은 시간이 소요됩니다.

vector<vector<int>>

>> 사이의 공간이 있습니다

도움이 되었습니까?

해결책

장점 :

  • 더 많은 표준 호환 컴파일러. 이것은 다른 플랫폼으로 쉽게 포트가 될 수 있기 때문에 좋은 일입니다 (그렇게하고 싶다면). 또한 Microsoft의 문서보다는 표준에서 사물을 찾을 수 있음을 의미합니다. 결국 기능의 어느 시점에서 컴파일러를 업그레이드해야합니다. 빨리할수록 작업이 줄어 듭니다.

  • MS가 지원하지 않습니다. 새로운 SDK는 작동하지 않습니다. 64 비트가 작동하지 않습니다. 그리고 나는 그들이 여전히 버그를 고치고 있다고 생각하지 않습니다.

  • 더 좋은 IDE. 개인적으로 저는 MDI보다 탭을 선호합니다. 또한 Visual Studio를 구성하는 것이 훨씬 쉽다고 생각합니다 (사용자 정의 단축키, 메뉴 바 등). 물론 그것은 주관적입니다. Express Edition을 확인하고 동의하는지 확인하십시오.

  • 더 나은 플러그인 지원. VC6에는 일부 플러그인을 사용할 수 없습니다.

단점 :

  • 항구에 걸리는 시간. 이것은 당신이 가지고있는 코드의 종류에 달려 있습니다. 코드가 비표준 준수 VC6 기능을 크게 사용하는 경우 시간이 걸릴 수 있습니다. Andrew가 말했듯이, 오래된 레거시 프로젝트를 유지하고 있다면 그만한 가치가 없을 수도 있습니다.

  • 더 나쁜 성능. 정말 오래된 컴퓨터에서 개발중인 경우 Visual Studio가 너무 느릴 수 있습니다.

  • 비용 방금 빠른 모양을 가지고 있었고 Visual Studio 라이센스는 VC6보다 조금 더 비싼 것 같습니다.

다른 팁

왜 VC2005? VC6에서 업그레이드하기 위해 시간 (및 테스트!)을 투자하려는 경우 VC2008을 대상으로하지 않겠습니까?

레거시 프로젝트를 유지하고 있다면 포팅에 이점이 없을 수 있습니다. 단순히 프로젝트를 변환하고 컴파일러 문제를 해결하면 몇 주가 걸리고 불안정성을 불러 일으킬 수 있습니다.

제품을 적극적으로 개발하고 있다면 주요 장점은 더 이상 8 년이 넘는 제품을 사용하지 않을 것입니다. 이는 분명히 좋은 것입니다.

  • 보다 최근의 Windows SDK 버전은 VC6에서 작동하지 않습니다. 최신 Windows 기능을 사용하려면 최근 컴파일러가 필요합니다.
  • 이후 컴파일러는 더 많은 표준을 준수한다고합니다. 더 구체적으로 할 수 없어서 죄송합니다. VC6은 표준 템플릿 클래스를 사용하기위한 많은 컴파일러 경고를 생성한다는 것을 알고 있습니다.
  • 나중에 컴파일러로 컴파일 된 외부 라이브러리를 사용하는 경우 호환되는 것을 사용해야합니다.

가혹한 전환의 무언가를 준비하십시오 - IDE는 자신과 더 다릅니다.

기본 플랫폼의 다른 버전으로 응용 프로그램의 완전한 호환성을 보장합니다. 그리고 발견 된 오류를 바로 잡아서 최종 사용자가 자신의 버전의 기본 플랫폼을 사용할 수 있도록 충분한 자유를 제공 할 수 있습니다.

나는 당신이 변환해서는 안된다고 말하는 것이 아니라 특정 요점을 취합니다.

1) 표준 컨테이너에 대한 디버깅 지원이 없습니다

항상 VC ++ 6이있는 표준 컨테이너를 사용하여 코드를 디버그합니다. 여기서 당신의 문제는 무엇입니까?

2) 부스트 라이브러리를 사용할 수 없습니다

진실. 더 간단한 물건을 사용할 수 있습니다.

3) >>와 같은 VC6 문제를 촬영하는 데 많은 시간이 소요됩니다.

이것을 막을 수 없어, NB

>> 사이의 공간이 있습니다

음, 그게 a 구문 오류 (적어도 VC ++ 6에 의해 이해되는 C ++의 버전에서) 그와 같이 신고 될 것입니다. 팀이 이런 종류의 일에 "많은 시간"을 소비하는 경우 다른 팀이 필요합니다.

편집하다:

3) 우리는 많은 쿼리 생성을 사용하지만 안전하지 않은 CSTRING 형식 기능을 사용합니다.

VS2005에 따라 동일하게 유형-미공일이 될 것입니다. 왜 이것이 포팅의 이유인지 모르겠습니다. 유형 안전을 원한다면 표준 C ++ I/O 메커니즘을 사용하십시오.

팀이 이점을 볼 수없고 이점을 설명 할 수 없다면 왜 이런 일을하도록 요청하는 이유는 무엇입니까?

당신이 그것을 위해서만 포팅하는 것처럼 들립니다.

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