문제

그만큼 hash_map 그리고 hash_set 헤더는 아직 C ++ 표준에 포함되어 있지 않지만 최근에 사용한 모든 컴파일러와 연장선으로 사용할 수 있습니다.

휴대 성을 희생하지 않고 실제 코드에서 이것에 얼마나 의존 할 수 있는지 궁금합니다. 저는 다음을 포함하여 다양한 아키텍처 및 컴파일러에서 실행 해야하는 도구 프로젝트를 진행하고 있습니다.

  • Linux (x86_64, AMD/Intel) : GCC, 인텔, 포틀랜드 컴파일러
  • AIX (파워) : GCC, XLC
  • 크레이 XT 시리즈 (AMD) : GCC, 포틀랜드, PathScale 컴파일러
  • IBM 블루 유전자 시리즈 (파워) : XLC, GCC
  • SGI Altix (Itanium) : 인텔 컴파일러
  • Windows : 실제로 우선 순위는 아니지만 유용한 답변을 자유롭게 제공하십시오.

나는 이것들 중 일부가 꽤 이국적이라는 것을 알고 있지만 그것은 요점이 아닙니다. 여러 플랫폼과 컴파일러에서 STL 확장에 대한 경험은 무엇입니까? 그들은 아직 유비쿼터스입니까? 일 것이다 프로젝트에서 사용 하시겠습니까?

도움이 되었습니까?

해결책

나는 아마도 부스트 등급을 찾고 그것을 사용할 것입니다. 적어도 사용자는 플랫폼 독립이라는 압력이 있습니다. GCC 및 Intel 컴파일러에 대한 버그를 제출하고 HASH_MAP가 구현되는 방식에 대한 차이를 조정하라고 지시하면 어떤 일이 일어날 지 상상할 수 없습니다. 기껏해야 당신은 그들이 서로 이야기 할 수있을 것입니다. 당신이 그 사실을 아프게했다고 가정하면, 인텔과 GCC 컴파일러가 어떻게 다른지 만 수정했습니다. 몇 년 안에 다른 모든 사람들을 모으고 문제를 해결하는 행운을 빕니다.

최소한 부스트를 사용하면 플랫폼의 차이점이 한 조직에 의해 해결되고 있음을 알고 있습니다.

편집하다부스트에 해당하는 것은 분명합니다 순서가없는 세트 또는 지정되지 않은지도. (감사합니다 Head Geek)

다른 팁

아니, 당신이 충분히 큰 조직/프로젝트라면 직접 글을 쓸 것입니다. 이렇게하면 필요에 맞게 조정하고 휴대 성 문제를 해결할 수 있습니다. EA는 모든 게임 플랫폼, PC, Mac, Xbox360, Wii, PS2, PS3 등을 대상으로 한 "Eastl"으로이를 수행했습니다.

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