정리해보았다
djgpp -
옛날엔 win32용 gcc라고 소개하던데 언젠가부터 dos용 gcc라고 바꿧다
마지막 사용했을때 xp에서 잘 컴파일됬던걸로 기억한다
다른것들과 차이점이라면 socket 함수를 win95용?(잘기억안난다) 함수를 사용한다
wsock2 였었나?
궁굼하면 니들이 찾아봐라
mingw -
사람들이 가장 많이 사용하는 win32용 gcc다
물론 c++ 컴파일러도 있다
socket함수는 winsock2 함수 고대로 사용하면 된다
버전이 4.x 대라 c++11 지원안한다
그래서 boost 를 같이 깔아서 쓰는경우가 많다
cygwin -
레드헷에서 만든거다
써본적 한번도 없어서 정보가 정확하지 않을수도 잇다
특이한점은 다른 윈도우용 gcc와 다르게 리눅스용 socket함수를 사용한다
그리고 리눅스용 시스템콜도 사용하고, 리눅스 소스도 컴파일 된다
배포할때 sygwin1.dll 인가 파일이 필요하다
tdmgcc -
32, 64비트 다되는 gcc다
버전이 5.1 이라서 c++11 사용가능하다
clang -
버전 5.x 지원해서 c++11 사용가능하다
gcc 5.x 처음나왔을때 가장 완벽하게 가장 빨리 c++11 지원했던걸로 안다
이것도 안써봐서 모르겠다
mingw64 -
간단하게 mingw의 64비트 버전이라고 생각하면 된다
32, 64 둘다 빌드 가능하고 c++11 지원한다
msys2 -
이건 msys2 를 깐다음에 pacman 으로 설치하면 gcc가 깔린다
버전이 무려 5.3이다
DialogBox() 함수에서 4번째 인자를 DLGPROC 형으로 형변환 안해주면 에러가 발생한다
옛날엔 djgpp랑 cygwin 두개뿐이였는데 많아졌구나
이런 다양한 것들이 있군요.
clang은 BSD에서 만든건데 성능은 모르겠고 gcc에 비해 코드가 깔끔함. 근데 윈도버전도 있었나보네
개추
애플에서 만드는거 아니냐?
clang bsd에서 만든게 아니라 애플에서 주축으로 만들고 라이센스 때문에 BSD 진영에서 gcc 버리고 clang으로 갈아탐.
아 그래? 어디서 들은거지 저거 ㄷ 잘못알고있었나봄
clang/llvm 기획(?)한애 애플에서 고용했고 얘가 swift 도 만듬. 애플은 gcc 랑 clang 둘다 넣다가 gcc 4.2 부터 라이센스 바껴서 이제 clang 만 씀. 암튼 clang 때문에 gcc 도 갑자기 c 에서 c++ 로 바꾸고 바짝 개발에 열올리게 됨.
Mingw64가 진리임