Windows 용 C 컴파일러? [닫은]


125

내 C 컴파일러로 gcc를 사용하여 Linux에서 작업하고 있지만 Windows 솔루션을 원합니다. 어떤 아이디어? Bloodshed의 Dev-C ++를 살펴 보았지만 더 많은 옵션을 찾고 있습니다.


2017 년에 소개 된 Linux 용 Windows 하위 시스템을 확인하세요.이를 통해 Windows에서 바로 gcc와 같은 기본 Linux 도구를 실행할 수 있습니다. 참조 : docs.microsoft.com/en-us/windows/wsl/install-win10howtogeek.com/249966/…
Evan

답변:


79

Windows에서 MingW ( 단종 됨 ) 또는 후속 버전 인 Mingw-w64 를 다운로드하여 GCC를 사용할 수 있습니다 .


1
stackoverflow.com/questions/29205033/…- 그러나 Windows에서 MinGW를 사용하면 LibVLC 및 Gstreamer를 처리하는 문제가 해결되지 않습니다. MinGW를 사용하면 실행 파일이 충돌합니다. 더 나은 해결책이 있습니까?

1
mingw는 환상적인 프로젝트이지만 Windows exec를 컴파일하고 싶을 때는 적합하지 않았습니다. Linux에서.
Vijay Kumar Kanta 2015 년

36

Win32를 대상으로하는 무언가를 원한다면 Microsoft에서 직접 Visual C ++ Express Edition을 얻을 수 있습니다 . 그렇지 않으면 다른 곳에서 제안 된 것처럼 MinGW 또는 lcc입니다.


3
Visual Studio는 훌륭하지만 수업에서 linux / gcc를 사용하는 경우 최상의 옵션이 아닐 수 있습니다.
Joel Coehoorn

1
문제는 C와 C ++가 다른 언어라는 것입니다. C 코드가 항상 C ++에서 작동하는 것은 아닙니다.
tloach

9
Visual C ++에도 C 모드 컴파일러가 있다고 생각합니다.
Alex M

4
Stroustrup은 여기에서이를 명확히합니다. public.research.att.com/~bs/bs_faq.html#C-is-subset 최악의 부분은 chars 및 int에 대한 sizeof () 불일치와 C ++의 추가 된 키워드입니다.
Alex M

17
@Richard가 의견에서 말했듯이 VC ++에는 C99 기능이 없습니다.
jfs

23

GCC는 어디에나 있습니다. 수십 개의 커뮤니티에서 수천 명의 사람들이 신뢰하고 잘 이해하고 있습니다.

Visual Studio는 아마도 지금까지 개발 된 최고의 IDE 일 것입니다. 그 아래에는 훌륭한 컴파일러가 있습니다. 그러나 엄격하게 Windows 전용입니다.

게임을하는 중이라면 GCC를 받으세요. 무료입니다. 여러 플랫폼에 대해 우려한다면 GCC입니다. 진지한 Windows 개발에 대해 이야기하고 있다면 Visual Studio를 사용하세요.


이제 Visual Studio Code거의 동일한 기능을 가진 크로스 플랫폼이 있습니다.
Dr_Zaszuś

19

cygwin을 통해 항상 gcc를 사용할 수 있습니다.


13
이것은 내 생각에 정말 짜증나는 Cygwin DLL에 앱을 바인딩합니다.
Alex M

동의하지만 응용 프로그램에 설치 프로그램이 있으면 dll을 번들로 제공 할 수 있습니다.
UnkwnTech

13
cygwin에서 컴파일 할 때 --mno-cygwin 옵션을 사용하십시오. 이것은 MinGW 바이너리를 컴파일하게합니다. Cygwin DLL이 필요하지 않습니다.
Colin

5
-mno-cygwin더 이상 지원합니다 -는 MinGW 크로스 컴파일러 패키지 대신 플랫폼에 적합한 설치하지
크리스토프

17

또 다른 Windows 용 무료 C 컴파일러 인 Pelles C가 있습니다.

Pelles C는 Windows 및 Windows Mobile을위한 완전한 개발 키트입니다. 여기에는 최적화 C 컴파일러, 매크로 어셈블러, 링커, 리소스 컴파일러, 메시지 컴파일러, Windows 및 Windows Mobile 용 작성 유틸리티 및 설치 빌더가 포함되어 있습니다. 또한 프로젝트 관리, 디버거, 소스 코드 편집기 및 대화 상자, 메뉴, 문자열 테이블, 가속기 테이블, 비트 맵, 아이콘, 커서, 애니메이션 커서, 애니메이션 비디오 (사운드없는 AVI)를위한 리소스 편집기가있는 IDE (통합 개발 환경)가 포함되어 있습니다. 버전 및 XP 매니페스트.

URL : http://www.smorgasbordet.com/pellesc/


12

개인적으로 코드 블록 IDE 와 함께 MinGW (Bloodshed가 사용하는 것)를 사용하는 방법을 살펴 보았습니다. .

또한 Digital Mars C / C ++ 컴파일러 사용을 고려하고 있습니다.

둘 다 좋은 평가를받는 것 같습니다.


Digital Mars C / C ++는 한동안 사용되어 왔으며 잘 작동합니다. 그러나 일반적이지 않은 개체 파일 형식을 사용하므로 라이브러리에 대한 연결 문제가 발생합니다. 별로 문제가되지 않는 소스 코드를 얻을 수 있다면. 또한 사용한 적이 없지만 파일 형식 변환기 도구가 있습니다.
BCS

8

더 나은 IDE이며 MinGW GCC와 함께 제공되는 Code :: Blocks를 사용해 볼 수 있습니다 ! 나는 그것을 사용했고 C / C ++ 용 프리웨어 IDE가 너무 좋다.


@zeboidlund, 그리고 winxp 포스트 버전은 무엇입니까?
Pacerier

8

GCC는 기술적으로 리눅스 전용 컴파일러가 아닙니다. 표준 호환 c / c ++ 컴파일러이며 매일 Windows 프로그램에 사용합니다. 다른 것에 익숙해 질 때까지 사용하는 것이 가장 좋습니다.

GCC의 MinGW 배포를 사용하는 것이 좋습니다. 표준 라이브러리 등을 사용하여 Windows 용으로 기본적으로 프로그램을 컴파일합니다.

IDE를 찾고 있다면 두 가지 권장 사항이 있습니다. Visual Studio는 Microsoft 버전이며 문제가 있지만 훌륭합니다. 코드 작업을위한 IDE입니다. 그러나 좀 더 가벼운 것을 찾고 있다면 CodeBlocks도 상당히 좋으며 기본적으로 설치 한 모든 컴파일러 (여러 형태의 GCC 및 Visual과 함께 제공되는 Microsoft 컴파일러 포함)를 사용할 수 있다는 추가 이점이 있습니다. Studio) 및 다른 IDE에서 프로젝트 파일을 열 수 있습니다. 또한 Linux에서도 실행되므로 직접 전환을 더 쉽게 할 수 있습니다.

나는 개인적으로 GCC를 선호하지만 그것은 나뿐입니다. Microsoft 솔루션을 정말로 원한다면 VS가 갈 길입니다.


7

MinGW 는 Windows 용 gcc에서 직접 번역 하거나 IDE로 LCC , vanilla c (다소 또는 적음) 를 확인하고 싶을 수 있습니다 . Pelles C 는 lcc를 기반으로하는 것으로 보이며 개인적으로 사용하지는 않았지만 다소 좋은 IDE를 가지고 있습니다. 물론 무료 인 MSVC 의 Express Edition 은 항상 있지만 그게 당신의 선택입니다.


6

대부분의 대학에서 Microsoft Dreamspark에 액세스 할 수 있습니다 .

수업에서 GCC / Linux를 사용하는 경우 Ubuntu를 설치하기 만하면 됩니다. Windows는 C 개발을위한 끔찍한 플랫폼입니다.


16
Windows는 모든 개발을 위한 끔찍한 플랫폼입니다 . 당신을 위해 그것을 고쳤습니다.
notbad.jpeg 2014-06-19

4
Visual Basic에 가장 적합한 옵션입니다. 부인할 수 없습니다!
rlms

1
@sweeneyrod : 공정하게 말하면 VB를 사용하여 Wine 용 앱을 개발하는 것이 좋습니다.
Matt Joiner

대학을 통해 접근 할 수있는 것의 문제는 수업이 끝난 후에는 습득하기 위해 열심히 일한 기술을 사용할 방법이 없다는 것입니다.
richard1941

@ richard1941 : 수업에서 배운 기술을 산업에 정확히 적용하는 것은 대학의 의도가 아닙니다.
Matt Joiner

5

실제로 C를 수행하는 경우 C ++가 아닌 C 컴파일러를 사용하도록주의하십시오. C의 대부분의 프로그램은 C ++ 컴파일러를 사용하여 작동하지만 문제가있을 수있는 충분한 차이가 있습니다. cygwin을 통해 gcc 사용을 제안하는 사람들에게 동의합니다.

편집하다:
http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B 는 몇 가지 주요 차이점을 보여줍니다.


"충분한 차이"에 대해 자세히 설명해 주시겠습니까?
Mark


2
모든 C ++ 컴파일러도 C를 컴파일합니다. 일반적으로 컴파일러 모드는 파일 이름 확장자에 따라 자동으로 선택되지만 모든 컴파일러에는 파일 이름에 관계없이 C 또는 C ++ 모드를 강제하는 옵션도 있습니다.
Michael Burr



3

나는이 파티에 늦었지만 Windows의 미래 C 사용자를 위해 Visual Studio는 * nix에서 얻을 수있는 C99 대신 C90을 대상으로합니다. 현재 Cygwin과 함께 Sublime Text 2를 사용하여 Windows에서 C99를 타겟팅하고 있습니다.



1

Visual C ++ Express 는 컴파일러와 함께 제공되는 Windows 용 무료 IDE입니다.

일반적으로 명령 줄 솔루션과 특히 gcc에 더 익숙하다면 MinGW 또는 Cygwin 이 더 나은 선택 일 수 있습니다. 둘 다 무료입니다.


1

C가 C ++가 아니라는 몇 가지 의견이 있습니다. 사실이지만 모든 C ++ 컴파일러가 C를 컴파일한다는 것도 사실입니다. 일반적으로 컴파일러 모드는 파일 이름 확장자에 따라 자동으로 선택되지만 모든 컴파일러에는 파일 이름에 관계없이 C 또는 C ++ 모드를 강제하는 옵션도 있습니다.

따라서 gcc, VC ++ Express, Digital Mars 등에 가장 익숙한 무료 C ++ 컴파일러를 선택하십시오. 최고의 emacs, vim, VC ++ Express, Code :: Blocks, Bloodshed 등 원하는 IDE를 사용하십시오.

이러한 도구는 학습에 적합합니다. 개인적으로 Windows에 대해 물어 보셨 기 때문에 VC ++ Express를 선택하겠습니다. 훌륭한 IDE이고 무료이며 C 프로그램을 잘 컴파일합니다.


1
경험으로 말하면 VC는 끔찍한 C 컴파일러입니다. 존재하는 모든 현대적인 것은 VC에서 뒤쳐졌습니다. C ++의 경우 훌륭합니다 ... C의 경우 끔찍합니다.
zeboidlund

0

수업에서 무엇을 사용하는지에 달려 있습니다.

랩과 과제가 리눅스에 있다면 MinGW 솔루션이 필요할 것입니다. Windows에있는 경우 Visual Studio Express를 다운로드하세요.


0

학교에서 Visual Studio Student Addition의 무료 버전을받을 수 없습니까? 대부분의 대학에는 학생들에게 무료 소프트웨어를 제공하는 프로그램이 있습니다.


1
아니 그가 옳다. "Dream Spark"라는 특별한 프로그램이 있는데, 제가 그런 교활한 마이크로 소프트를 지원하는 것이 아닙니다.
Matt Joiner

0

Bloodshed의 Dev-C ++ 말인가요? Windows 용 MinGW의 gcc를 back-the-scenes 컴파일러로 사용하는 C ++ 용 멋진 비주얼 IDE입니다. 프로젝트는 잠시 중단되었습니다 (제 생각에는 Delphi를 사용하여 C ++ IDE를 개발하는 것은 개발자의 관심을 끌기 위해 매우 어리석은 일입니다). GPL 라이센스 외에 최신 버전을 사용합니다.


0

BloodShed의 DEV C ++, CygWin 또는 Visual C ++ Express를 사용합니다. 모두 무료이며 잘 작동합니다. 저는 저에게 DEV C ++가 가장 잘 작동하고 가장 기발하다는 것을 발견했습니다. 각 컴파일러에는 고유 한 단점과 차이점이 있으므로 몇 가지를 시도해보고 가장 편한 컴파일러를 찾아야합니다. 또한 DEV C ++에서 편집기에서 사용되는 글꼴을 변경할 수 있다는 사실이 마음에 들었습니다. 나는 Proggy 프로그래밍 글꼴을 좋아합니다!


-1

Windows C ++ 컴파일러가 작동해야합니다.

또한 MinGW를 확인하십시오 .


6
C! = C ++. 모든 C 코드가 C ++로 컴파일되지 않는 것과 같은 차이점이 있습니다.
tloach
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.