2009-05-07 2 views
0

사이에 선택하는 경우 : 완전히 사내 사용을 위해사용 가능한 Visual Studio 2008 C++ 프로젝트 플랫폼의 장단점

  • :

    • ATL
    • 윈도우 특히 응용 프로그램이 될 것입니다
    • MFC에게
    • 는 Win32

    양식 .

  • 대부분의 사용자는 기본 windows/pc 지식이 부족합니다.
  • 수반 자동화 된 테스트에 사용 (간단한 UI을 고려) : - 가능성이 다이렉트 X의
  • 수명
    을 외부 기기에서 많은 양의 데이터에 -bringing 그래픽에
    - 아주 무거운 (VXI, USB 또는 이더넷을 선택할 수 있습니다) 응용 프로그램은 10 년 이상 (향후 Windows 플랫폼 등 고려하십시오)
  • 사용자는 테스트 중에 매우 원격 위치에 있지만 오프라인 상태가됩니다. 그러나 보고서를 동기화하기 위해 매일 온라인 상태가 될 수 있습니다 (이제 데이터베이스 동기화에 사용되는 별도의 응용 프로그램). 프로그램 업데이트 문제?
  • 프로그램 속도가 가치를 더합니다. 즉, 우리가 데이터를 얻고 표시하는 속도가 빨라질수록 더 많은 테스트가 수행 될 수 있다는 것을 의미합니다. 프로그램 이외의 병목 현상은 없습니다. 모든 비트는 더 빠르게 = 모든 비트가 생산성 향상됩니다.

다시 말하면, C++은 특별히 C#이 아닙니다.

감사합니다, 제프

답변

3

당신이 VC++에 자신을 묶는 괜찮다면 내가 ATL + WTL 갈 것입니다. 매우 가벼우 며 아직 원시 Win32에 추상화를 추가합니다. MFC는 괜찮 았지 만, 정말로 좋아하지는 않지만 WTL보다 더 잘 문서화되어 있습니다.

Windows Forms의 경우, 특히 C++을 사용할 것이라는 것을 알고있는 경우에는 멀리 떨어져있을 것입니다.

2

MFC에서 벗어나십시오. 물론, 많이 사용되었지만 비 관용적 인 C++ 사용의 좋은 예입니다. 특히, 자체 RTTI 시스템을 구현하고 STL의 일부를 다시 구현합니다.

ATL은 기능이 풍부하지는 않지만 WTL이라는 좋은 확장명이 있습니다. 정확히 C++이 아니지만 MFC보다 훨씬 낫습니다. GTK, Qt 등에 관심이 없다면 (아마도 DirectX와의 쉬운 통합을 위해 프레임 워크를 얇게 만들고 싶기 때문일 것입니다.) WTL이 아마도 가장 좋은 옵션 일 것입니다.

1

C++ Windows Forms가 유효한 조합이라고 생각하지 않습니다. 적어도 VS 2008을 설치 한 것은 아닙니다.

이렇게하면 ATL, MFC 및 Win32가 남습니다. 모두 오래된 제품이지만 Win32는 가장 오래된 제품이므로 제거하지 않을 것입니다.

MFC (CodeProject.com 등)에 대한 외부 지원이 많이 있으며 문서화가 잘되어 있으며 MFC 사용 경험이 많은 사람들이 많이 있습니다. ATL 대 MFC에 대한이 웹 사이트의 주제 수를보십시오. MFC의 게시물 수가 더 많습니다.

MFC는 ATL보다 훨씬 일반적인 것 같습니다. IMO, MFC는 갈 길이 멀다.

1

나는 WTL과 MFC 모두에 대해 폭 넓은 경험을 가지고 있으며 더 이상 WTL over MFC를 선택하지 않을 것입니다. MFC는 무시할 부분을 배제하면 (doc/view, CArchive, containers ...) MFC는 그렇게 나쁘지 않습니다. MFC는 WTL과 일치하지 않는 훨씬 더 다양한 UI 컨트롤을 제공하며, MFC에서 사용할 수있는 도움말. WTL을 사용하면 Wiki 메일 링리스트와 viksoe.dk의 샘플 코드를 제외하고는 거의 스스로 할 수 있습니다.

그런데, 어쨌든 DirectX에서 무거운 짐을 다룰 예정이라면 UI 툴킷은 그다지 중요하지 않습니다. MFC와 WTL은 몇 가지 양식과 대화 상자에서 수행합니다. win32는 MFC 나 WTL보다 부가가치가없는 많은 작업이며, C++의 Windows Forms는 피타 (pita)이며 느리다. 플러스 Windows Forms는 oldschool입니다. MFC가 더 이상 많이 변하지 않을 것입니다 :)

관련 문제