2009-05-22 2 views
2

저는 C++ 프로그래밍에 익숙하지 않아 지금 당장 무엇을 찾고 있는지 잘 모르겠습니다. C#, Python (간신히) 및 Visual Basic에 대한 경험이 있지만 C++을 사용하고 .NET에서 완전히 벗어나려고합니다 (완전히 빠지기 전에). 내 질문은 다음과 같습니다 :C++ 라이브러리 : 질문에 정답 (의견)이 필요합니다.

1) 가장 가벼운 플랫폼 독립적 인 GUI 라이브러리는 무엇이 있습니까? Qt는 약간 비대 해 보입니다 (OpenGL, 다른 것들 중에서). 내가 틀렸다면 알려주십시오.

2) 가장 가벼운 무게의 플랫폼 독립적 인 소켓 라이브러리는 무엇입니까? (winsock2.h를 가져 오지 마십시오.)

감사합니다. 나는 계속 Google에 갈 것이지만, 내가 말했듯이, 내가 무엇을 찾고 있는지 잘 모르겠다. 그래서 모든 도움이 인정된다.

+1

왜 "가장 가벼운 무게"가 그렇게 중요한가요? 당신이 초보자 인 경우 사용의 용이성과 학습이 더 중요 할 수 있습니다. – lothar

+1

나는 lothar의 의견에 동의합니다. 함께 개발하는 것이 가장 쉬운 것으로 이동하십시오. 결국, 내 경험에 의하면, C++ 응용 프로그램은 C# 외보다 작고 빠릅니다 (개선의 중요성은 또 다른 질문입니다 ...). 심지어 일부 "도서관 팽창"과 함께. 또한 Qt는 여러 구성 요소로 나뉘어 있으므로 필요없는 경우 OpenGL 비트 (또는 GUI, DB 또는 네트워크 등)를 포함 할 필요가 없습니다. –

+0

사용 편의성은 좋지만이 프로젝트를 가능한 한 가볍게 만드는 것은 어렵습니다. –

답변

1

크로스 플랫폼 개발에 관심이 있다면 실제로 체크 아웃해야합니다. wxWidgets GUI 위젯 세트뿐만 아니라 다른 플랫폼 독립적 솔루션도 제공합니다. (그리고 그것은 오픈 소스이며 좋은 상용 라이센스도 있습니다.)

또한 모듈 식이므로 기본적으로 필요한 물건 만 포함 할 수 있습니다. 따라서 그러한 의미에서 가벼운 무게 또는 적어도 그렇게 할 수 있습니다.

저는 여러 프로젝트 (상업용)에서 큰 성공을 거두었으며 일단 API를 사용하면 매우 강력합니다.

GTK + 및 QT와 같은 다른 대안은 모두 훌륭하지만 제 의견으로는 기본 배관에 대한 지원이 부족합니다.

+0

물론 Vim 대 Emacs 토론을 시작할 수도 있지만 Qt가 "기본 배관"에 대한 지원이 부족하다고 말하는 이유는 무엇입니까? –

+0

스튜어트, Qt가 자신의 특별한 그룹에 의해 유지되고 있다고 말할 것입니다. –

+0

나는 QT와는 아무런 관계가 없다. 나는 그것을 사용했고, 그것이 설계된 방식을 좋아한다. (다른 답변에서 이것은 정말 좋은 OO 디자인을 가지고있다.) 나는 지원에 관해서 약간 뒤로 물러나 야 할 것이다. 기본 배관을 위해 - 그것은 공정한 비난이 아닐 수도 있습니다. –

2

Qt는 실제로 부풀려진 것이 아닙니다. (라이브러리의 크기가 무거울지라도 -이 말은 경량이 아닙니다.) 사용하기가 매우 편하며 필요로하는 거의 모든 것을 포함하고 있습니다. 처음에는 OpenGL과 비슷합니다.) (소켓 용 QSocket, 문자열 용 QString, 너무 빨려 들지 않도록 조심하십시오 :)). 또 다른 플러스 (또는 마이너스)는 MFC (wxWidgets는 이런 식으로 진행됩니다)와 같이 인기없는 not-strictly-OO 라이브러리를 모델로 만들지는 않았지만 의 실제 예 ()를 보여줍니다. C++ OOD (도움이 될 수 있으며 소스도 무료입니다.)

+0

실제로 QT를위한 큰 장점은 무료 GUI 빌더입니다. 그것은 정말로 멋지다. –

+0

좋아요, Qt를 사용해 볼게요. 최소한 이런 식으로 누군가 elses 코드를 사용하는 느낌을 갖습니다. 그리고 나는 내가 만든 것을 팔려고하지 않습니다. 내가 끝내면 그건 자유 다. –

3

GUI 라이브러리는 wxWidgets 또는 Qt를 사용합니다 (설명서가 상당히 좋으며 afaik는 GUI 부분을 원하지 않는 부분에서 독립적으로 사용할 수 있음).

소켓의 경우 Boost Asio을보십시오. 내 의견으로는 최고의 C++ 소켓 라이브러리이지만 설명서가 이해하기 어렵습니다.

+1

+1 Boost Asio 용. 한 달 전에 처음으로 올바른 소켓 구현을했는데 꽤 좋았습니다. – Macke