2008-10-21 3 views
7

내 프로그램이 IA64를 지원해야합니까, 아니면 x64 만 지원해야합니까?내 C++ 프로그램이 IA64 또는 x64 만 지원해야합니까?

직접 IA64 컴퓨터를 쉽게 찾을 수 없었습니다. IA64가 죽었나요?

MS가 IA64를 광범위하게 지원하는 것처럼 보였지만 IA64를 찾을 수있는 데 오랜 시간이 걸렸으며 eBay에서이 기술을 사용하게되었습니다.

답변

7

어떤 종류의 소프트웨어를 개발하십니까? 데이터 센터 유형의 애플리케이션이나 고급 애플리케이션의 크 런칭 애플리케이션이 아니라면 ia64 버전에 대한 수요가 있다면 놀랄 것입니다. 그리고 그때조차도, 나는 그것이 당신이 그것을지지해야하는지 물어야 할 필요가없는 상황이 될 것이라고 생각합니다.

IA64 포트 방해 할 수있는 내 머리 위로 떨어져 몇 가지 : 당신이 그것을 크게 들키지

  • 정렬되지 않은 액세스를 지원하기 위해 필요에 따라하고

    • 타사 도구 나 라이브러리를 x86 및 x64에서 ia64에 골치 거리를 초래할 것입니다.

    물론 Gartner 나 IDC 또는 시장 분석을하는 사람에게는 아무런 문제가 없으므로 여기에있는 모든 회의론에 대해 거짓말을해도 좋습니다.

    고객 또는 잠재 고객이 문의 했습니까?

  • +1

    Gatner 나 IDC에서 I * DO * 일을해서 회의적이어야하지 않아야합니까? –

    2

    예상 판매가이를 개발하고 지원하는 데 드는 비용을 충당 할 수 있는지 여부를 판단 할 자격이있는 사람은 귀하뿐입니다.

    -1

    C++로 작성하는 경우 정말 중요합니까? 내 말은, 프로그램이 실행중인 머신의 기본 아키텍처에 대해 "알 필요"가 무엇인지 말하지 않습니다. C++ 자체에서, 둘 사이의 차이점으로부터 상당히 잘 보호되어야합니다. 물론 난해한 플랫폼에서 테스트하는 것은 어려울 수 있지만, "지원"하는 모든 플랫폼에서 직접 테스트해야합니까?

    +1

    예, 테스트하지 않은 제품을 판매 할 수는 없습니다. – quinmars

    +1

    또한 개발보다 훨씬 큰 비용이 듭니다. 지원 및 품질 보증이 주요 사항으로 떠오르게됩니다. –

    +1

    그리고 물론 지원 비용을 지출해야하는 경우이를 보상하기 위해 추가로 돈을 벌고 싶습니다. –

    0

    클라이언트가 특별히 요구하지 않으면 IA64 지원에 신경 쓰지 않을 것입니다. 그렇지 않으면 테스트 할 수있는 또 다른 플랫폼 일뿐입니다. 인텔은 여전히 ​​IA64 기반 프로세서를 만들고 있습니까?

    +1

    예, IA64 플랫폼은 여전히 ​​살아 있고 성장하고 있습니다. 탁월한 프로세서 설계입니다. 우리는이 모든 레거시 코드에 의해 뒤쳐지지 않습니다. : –

    +0

    예, IA64 플랫폼은 여전히 ​​살아 있습니다. 나는 대담하지만 실패한 디자인이라고 부릅니다. 런타임보다는 컴파일 타임에 명령어 수준의 병렬 처리를 이용하기 때문에 효과적인 컴파일러를 작성하기가 매우 어려웠습니다. 그리고 프로세서는 명백한 이득을 얻지 못한 채 Opteron보다 더 비싸다. –

    1

    좋은 C++ 프로그래밍 방법을 고수한다면 이론적으로 x64, IA64 또는 SPARC 또는 PowerPC 등 무엇이든 작성할 수 있습니다. 코드가 64 비트 클린인지 확인하십시오 (정수와 포인터가 같은 크기라고 가정하지 않고). 그러면 괜찮을 것입니다. 제외

    ... 특별한 하드웨어 문제, 부적합 컴파일러 또는 해당 언어로 "구현 정의"날카로운 모서리에 의한 괴짜 프린지 조건이 항상있다

    . (C와 C++ 모두 일을하는 "정의 구현"을 많이 포함!)

    그래서 ...

    당신은 당신의 목표에 테스트 할 수 있습니다. 이것은 매우 비쌀 수 있지만 유료로 특정 하드웨어 플랫폼에서 응용 프로그램을 테스트 할 수있는 장소가 있습니다. 크로스 플랫폼 제품에 대해 많은 작업을 수행하는 경우 하드웨어 비용이 가장 저렴할 수 있지만 작은 상점이나 드문 플랫폼은 종종 임대 된 데이터 센터 하드웨어에서 가장 잘 테스트됩니다.

    1

    IA64에 액세스 할 수 있으면 코드를 실행하는 것이 중요합니다. 코드를 다른 CPU 아키텍처로 이식하면 숨겨진 모든 종류의 문제가 드러납니다.

    Linux/Windows/x86에는 표시되지 않지만 스택 레이아웃이나 구조가 서로 다르기 때문에 프로그램이 중단 될 수 있습니다. ~ 1UL == 0xFFFFFFFF라고 가정 할 수 있습니다.

    나는 C64 코드 IA64을 깨끗하게 유지하지만 팬이기 때문에 이미 두 대의 컴퓨터가 있습니다.