C ++ 컴파일러에 대한 비용 지불시기


19

최근에 개발자가 언제 컴파일러 비용을 지불해야하는지 궁금해졌습니다. 컴파일러는 대부분의 플랫폼에서 무료로 제공되거나 쉽게 구할 수있는 무료 버전이 있습니다.

예:

OS X-GCC 및 Clang / LLVM은 개발자 도구와 함께 제공됩니다. 여기서 어떻게 그리고 무엇을 사용할 수 있는지에 대한 제한은 없습니다.

리눅스-GCC와 나는 더 확신합니다. 나는 리눅스 컴파일러의 현재 상태를 모른다. 여기서 어떻게 그리고 무엇을 사용할 수 있는지에 대한 제한은 없습니다.

Windows-MinGW와 Microsoft는 무료 버전의 Visual Studio를 제공합니다. MinGW에는 제한이 없지만 무료 Visual Studio에는 심각한 제한이 있다고 생각합니다.

그러나 예를 들어, 인텔은 C / C ++ 컴파일러를 생산합니다. 그들은 가격이 무겁습니다. 교육적으로 나는 $ 49의 OS X 버전과 $ 129의 Windows / Linux를 얻을 수 있다고 생각합니다. 그런 다음 완전한 "스튜디오"제품도 제공합니다. 교육 가격을 사용하면 분명히 제한이 따릅니다.

그러나 내가 궁금해하는 것은 컴파일러 비용을 정말로 고려해야하는 시점입니다. 제가 생각할 수있는 한 가지 예는 비디오 게임입니다. 주요 플랫폼에서 작동하는 컴파일러를 사용하는 경우 플랫폼에 더 이상 전환 도구가 없습니다. 도구가 동일하면 플랫폼 간 전환이 쉬워 보일 것입니다.

누구든지 인텔 컴파일러와 같은 컴파일러와 컴파일러를 사용함으로써 얻을 수있는 진정한 크로스 플랫폼 이점에 대해 비용을 지불 할 수 있습니까? 플랫폼 고유의 기술을 사용하지 않으려 고 노력하더라도 코드의 이식성이 떨어 집니까?


29
Visual Studio를 Microsoft의 컴파일러와 혼동하지 마십시오. 컴파일러는 무료로 제공되며 Visual Studio의 일반 및 Express 버전 모두에서 동일합니다. Windows SDK 를 통해 Visual Studio 없이도 얻을 수 있습니다 .
yannis

6
@Rig 음, Microsoft는이 문제에 대해 부분적으로 책임을 져야합니다. C ++ 컴파일러가 무료로 제공된다는 사실을 알리기 위해 실제로 노력하지는 않았습니다. 부풀린 Windows SDK 또는 Visual Studio Express없이 자체적으로 다운로드 할 수 없다는 사실만으로도 사용 가능성에 대해 사람들을 혼란스럽게 할 수 있습니다.
yannis

5
@Rig 정확합니다. 그들은 지상 광고 Visual Studio Express (IDE) 및 Windows SDK (다양한 도구 모음)에 복음주의 군대를 가지고 있으며 모든 C ++ 컴파일러 (Windows SDK 웹 사이트에도 나열되어 있지 않음) 또는 방법에 대해 언급하지 않았습니다. 컴파일러 만 다운로드하고 다른 것은 없습니다.
yannis

3
@YannisRizos : 내가 틀리지 않는 경우, C ++ 컴파일러는 더 이상 윈도우 SDK의 일부입니다 - msdn.microsoft.com/en-us/windows/desktop/hh852363.aspx은 그들이 있습니까?
Coder

1
@JeffO- SDK . 무료 다운로드 및 C ++ 도구가 포함되어 있습니다. 최신 버전이있을 수 있지만 그것이 내가 처음 찾은 것입니다.
Bobson

답변:


25

필자의 경험에 따르면 크로스 호스트 플랫폼 기능은 컴파일러를 선택할 때 고려해야 할 사항입니다. 실제로는 정반대입니다. 사람들은 하나의 특정 대상 플랫폼에 대한 우수한 지원을 위해 훨씬 더 자주 컴파일러를 선택합니다.

예를 들어 인텔 컴파일러를 살펴보십시오. 사람들은 일반적으로 최신 최첨단 인텔 칩에서 모든 마지막 성능을 깨고 싶을 때 그것을 구입합니다. 결국 홀을 걸어 칩을 디자인 한 사람들과 대화 할 수있는 사람들보다 더 나은 컴파일러를 설계하는 것은 어렵다.

사람들이 Microsoft 플랫폼에서 개발하기 위해 Microsoft에서 도구를 구매하는 것과 같은 이유입니다. 가장 먼저 지원을받는 사람입니다.


1
Ack. 이것이 바로 고성능 컴퓨팅 분야가 상용 컴파일러에게 중요한 시장 인 이유입니다. 계산 시간이 시간 단위로 할당되고 (때로는 청구되는 경우) 성능 및 튜닝 기능이 실제로 중요하기 때문입니다.
mschuett

이를 확장하기 위해 일부 상황에서는 사용 가능한 무료 컴파일러가 없습니다. 예를 들어, Windows 커널 개발 (Win8 +)의 경우 유일한 옵션은 통합 WDK 컴파일러와 함께 MSVC를 사용하는 것입니다.
SomeWittyUsername

19

유료 컴파일러 작업을 한 결과 컴파일러 비용을 지불해야하는 주된 이유는 지원 계약 때문입니다. 고객이 코드에 문제가 있고 컴파일러 버그가 의심되는 경우, 컴파일러 공급 업체에 가능한 솔루션 (벤더가 아닌 벤더의 솔루션)에서 응답 / 솔루션 마감 시한을 조사하도록 요청할 수 있습니다. 민감한 정보를 포함 할 수있는 프로젝트의 소스 코드를 공개적으로 공개 할 필요없이 수행 할 수 있으며, 일반적으로 계약은 공급 업체를 공유 소스 코드에 대해 비밀로 묶습니다. 일반적으로 대기업은 이러한 수준의 지원에 대해 기꺼이 비용을 지불하지만 소규모 상점은이를 지원할만한 가치가 있거나 너무 비싸다고 생각하지 않습니다.

또한 공급 업체는 유료 고객을 만족시키기를 원하므로 고객이 원하는 기능에 따라 기능 요청이 우선합니다. 고객이 자신의 요구에 더 적합한 기능, 더 널리 사용되지 않는 회사 고유의 기능을 제안 할 수도 있습니다. GCC 또는 다른 오픈 소스 컴파일러 사용자는 자신의 일정에 따라 원하는 순서대로 기능을 구현하려는 사용자가 기능을 구현할 수 없습니다.


7
"GCC 나 다른 오픈 소스 컴파일러 사용자는 자신의 일정에 따라 원하는 순서대로 기능을 구현하려는 기능을 구현할 수 없습니다." 그러나 반면에 고객이 기능을 충분히 원치 않으면 개발자가 직접 구현하도록 개발자를 할당 한 다음 다른 사람과 공유하거나 공유하지 않을 수 있습니다. (GPL은 사용이 아니라 배포 에 관한 것임을 기억하십시오 .) 독점 소프트웨어를 사용하면 공급 업체가 해당 기능을 구현하고 실제로 원하는 것을 얻을 수 있도록 충분히 상세하게 알고 설명하도록 설득해야합니다.
CVn

1
회사에 컴파일러와 특정 코드 기반에 대한 경험과 친숙한 개발자가 있다면 예, 그러나 이는 컴파일러를 구입하는 것보다 더 많은 비용입니다. 또한 모호한 기능 요청이 얼마나 될 수 있는지에 놀랄 것입니다. 고객이 비용을 지불하는 경우, 특히 많은 돈을 지불 할 때 회사가 무언가를하도록 설득하는 데 많은 시간이 걸리지 않습니다. 나는 어느 쪽도 논쟁하지 않을 것입니다. 일부 사람들은 돈의 가치가있는 수준의 지원을받는다고 말합니다.
질긴 검볼

1
컴파일러가 결코 간단한 소프트웨어가 아니라는 데 동의합니다. 기능을 추가하는 것은 특히 코드 기반에 익숙하지 않은 사람에게는 쉽지 않은 작업입니다. 그러나 오픈 소스 컴파일러에서 기능을 구현하는 것은 "불가능하다"고 말하지만 독점적 인 것은 가능한 한 결함이 있습니다. 회사에 필요한 전문 지식이없는 경우 컨설턴트를 고용하여 컨설턴트를 고용 할 수 있습니다. 독점 소프트웨어를 사용하여 공급 업체가 이유를 불문하고 대답하지 않으면 모든 의도와 목적을 불운하게하는 것입니다.
CVn

내가 말했듯이, 나는 그것이 질문에 잘 대답한다고 생각하기 때문에 이것을 찬성했습니다.
CVn

1
"상업적인"소프트웨어 지원을 실제로 다루지 않았다고 생각합니다. 설명과는 완전히 다른 경험입니다.
James Anderson

1

때로는 사람들이 비용을 지불하는 컴파일러가 아니며 작동하는 런타임입니다. 인텔은 특히 멀티 스레딩, 미디어 지원 (SSE 등) 및 확장 정밀 수학과 같은 것들을위한 우수한 라이브러리를 제공하는 전통을 가지고 있습니다.


Polyverse는 표적 방어를 움직여 Linux 배포판을 판매합니다. 배포판 중 하나를 구입하면 OS의 모든 이진 파일에 이동 대상 방어를 적용하는 컴파일러를 동시에 구입할 수 있습니다.
T. Salim

0

유료 컴파일러를 사용하는 사람들과 함께 일했습니다.

그들은 클러스터에서 심각한 데이터 크 런칭을하고있었습니다. 아마도 인텔 컴파일러는 더 빠른 코드를 생성 할 수 있었으며 더 많은 노드를 실행하는 것보다 컴파일러 비용을 지불하는 것이 더 저렴했습니다. 저의 이해는 그 차이가 매우 작았지만 그 가치를 고려한 전기 비용을 곱한 것입니다.

이로 인해 대부분의 HPC 슈퍼 컴퓨터가 칩 제조업체가 제공하는 특수 컴파일러에서 실행되는 경우 놀라지 않을 것입니다.


-4

나는 Karl Bielefeldt와 함께 있습니다.

크로스 플랫폼 기능을 제공하는 컴파일러는 실제로 신뢰하지 않습니다. 솔직히 말해서 우리는 모두 기본 및 대상 도구 / 컴파일러가 대상 플랫폼을 더 잘 아는 것과 같은 이점을 가지고 있기 때문에 모두 알고 있습니다.

그리고 소프트웨어가 복잡해지고 성능이 필요할 때 유료 컴파일러로 전환하는 것에 대해 생각할 수 있습니다.

그리고 그 외에도 Microsoft의 컴파일러는 상당히 훌륭하다고 생각합니다. 그리고 다른 사람들이 말했듯이 그들은 영원히 무료입니다.


2
GCC를 믿지 않습니까? Android 및 iOS 컴파일러는 어떻습니까?

-17

GNU 무료 컴파일러 (gcc)는 GNU 라이센스 (GPL)와 함께 제공되므로 오픈 소스 프로젝트에만 사용할 수 있습니다. 소프트웨어에서 큰 이름으로 지원됩니다.

Clang (무료)은 좋은 컴파일러를 만드는 GPL 제한을 피하려는 시도입니다. 또한 Apple, Google 및 기타 많은 사람들이 지원합니다.

VC ++ Express (무료)는 Windows 플랫폼으로 제한되며 (그런데, 오픈 소스 커뮤니티의 많은 사람들이 그것에 대해 질문했기 때문에 마지막 순간에 무료로 만들었습니다) 대부분의 전문 도구에는 기능이 없습니다. 프로파일 러 등이 있습니다.

따라서 이러한 모든 도구는 무료이지만 업계에서 지원합니다.

Karl이 언급했듯이 Intel (상업용)은 Intel 플랫폼에서 대부분의 성능을 목표로하는 프로젝트에 사용됩니다.


17
여기에 많은 잘못된 정보가 있습니다. VC ++ Express는 무료이지만 오픈 소스 커뮤니티 (누가?)가 요청했기 때문에 의심 스럽지만 @YannisRizos가 위의 주석에서 언급했듯이 C ++ 컴파일러와 관련이 없습니다. 둘째, GCC 자체는 GPL이지만 GPL이 아닌 코드를 컴파일하는 데 사용할 수 있습니다. 여기를보십시오 stackoverflow.com/questions/9772616/…
Avner Shahar-Kashtan

믿을 수 없을 정도로 많은 사람들이 (나는 다른 사람들과 함께) 데스크톱 용 VC ++ 2012를 무료로 만들 것을 요청했습니다. GPL에 대해 이야기하고 싶지 않습니다.
SChepurin

5
예, 많은 사람들이 무료로 만들도록 요청했습니다. 그렇다고해서 그 방아쇠를 당겼다는 것은 아닙니다. 사업 결정이었습니다. 실제로 VSExpress 패키지의 원래 가격 (25 달러)에 대한 반동은 필자가 가정에서 사용하고 싶거나 OS를 필요로하지 않는 커뮤니티 개발자가 아닌 취미 애호가 및 상업용 개발자의 것이라 확신합니다.
Avner Shahar-Kashtan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.