2009-10-28 2 views
2

일부 배경 : 커다란 멀티 스레드 다중 프로세스 C++/C# 응용 프로그램을 유지 관리해야하기 때문에 액세스 위반, 메모리 누수, 힙 중단 문제를 이해해야하는 경우가 많습니다 등.디버깅을 목적으로 C++을 배울 수있는 방법

나는 이것을 아주 좋아한다. 그리고 나는 다양한 저수준 개념에 대해 꽤 잘 이해하고 있지만, 문제는 그 것이다. 나는 C++ 프로그램이 아니고 유지 보수의 목적을 위해서 제쳐두고 정말로 의도합니다.

내가 의미하는 바는 내가 최선의 선택을하는 회사에서 무언가를 개발해야한다면 C# (더 많은 개발자, C#의 다른 응용 프로그램도 더 나은 상호 운용성을 의미 함)입니다. C++에서 프로그램을 만들 때, C++로 프로그램을 작성할 때마다 C++을 배우기 위해서 이 순수하게이되고, 이니까 최대한 활용하고 싶습니다..

내 생각에 "책을 스스로 가르쳐라."책 등은 일을 끝내는 데 너무 많은 노력을 기울이기 때문에 적합하지 않습니다. 보통 일을하는 방법이 많아서 한 가지 방법을 선택하는 경향이 있습니다. 내가 물건을 채우는 것과 다른 방식으로 코드를 제공 할 때 (예 : 책에서 MFC를 가르치면 ATL 코드가 표시되고 책에서 ATL과 MFC가 무엇인지 알지 못한다. 내가보고있는 것을 다른 사람과 인식하는 방법)

저는 다른 사람들의 이해를 강조하는 C++, 을 찾고 있습니다..

답변

5

특히 IMHO C++는 "스스로 가르치기"책을 읽으면 배울 수없는 언어입니다. 실제로 여러 소스가 있어야하며 그 중 하나는 실제로 다른 사람들의 코드를 보는 것입니다.

Scott Meyers으로 Effective C++ 및 More Effective C++을 읽는 것이 좋습니다. C++로 프로그래밍 할 때 함정을 배울 수 있습니다. 특히 사람들의 코드를 볼 때 특히 유용합니다. 도울 수있는 것보다 다른 사이트는 gotw이기도합니다. 또한 훌륭한 정보가 있습니다.

+0

Meyers 조언 중 일부와 중복 될 수 있지만 Herb Sutter의 C++ 코딩 표준을 혼합하여 포함시킬 수 있습니다. 이 아이디어는 위험한 행동을 구체적으로 목표로 삼고 올바른 행동을 취하는 것입니다. –

0

정말 C++ 표준 사본이 필요합니다. (무료 온라인 초안 형태로 제공되는 ISO/IEC 14882 - 최종 버전 비용은 몇 달러 정도입니다)

물론 Stroustrup's book도 좋은 선택입니다. 그러나 일반적으로 말하면, "일을 마무리하는 법"보다는 언어를 설명하는 내용에 초점을 맞추십시오.

1

다른 사람들의 대답에도 불구하고 나는 당신의 문제가 주로 언어에 있다고 생각하지 않습니다. 물론 표준 또는 Stroustrup을 볼 수는 있지만 언어 구성 만 가르쳐줍니다.

배우는 데 어려움을 겪게 될 대부분의 것들은 창과 관련이 있으며 어떤 플랫폼이든 특정 용도에 맞게 사용됩니다.

stroutrup 및 다른 언어 안내서를 읽으면서 사용중인 라이브러리 및 시스템에 대한 문서를 탐구 할 준비를하십시오.

4

처음부터 C++ 프로그램을 만들지 않으므로 비전을 좁히고 지원할 응용 프로그램을 살펴보고 완전히 이해하지 못하는 것에 집중하여 하나씩 처리하는 것이 좋습니다. .

http://www.parashift.com/c++-faq-lite/이 C++의 기본 리소스로 사용됩니다. MFC 또는 ATL과 같은 특정 기술을 다룰 때는 사전에 어느 책이 가장 적합한 지 미리 조사하십시오. 내가 가장 좋아하는 방법 : 강한 커피, 편안한 의자 및 Barnes의 후보 도서 더미 & Noble. 초점을 맞춘 온라인 검색으로도 충분합니다.

지식과 숙달의 지름길은 없지만 집중을 제한하면 낭비되는 노력을 덜 수 있습니다. 일반적으로 말하자면, 기술이 복잡해 지거나 설계가 더욱 근본적 일수록,이를 해결하기 위해 더 많이 알아야 할 필요가 있습니다. 그것은 삶의 사실입니다!

0

MFC 및/또는 ATL을 많이 사용하는 C++ 코드를 유지 관리해야하는 경우 제대로 작동 하는지를 확인하는 가장 좋은 방법은 코드를 올바르게 유지 관리 할 수있는 작은 응용 프로그램을 작성하는 것입니다 MFC 및/또는 ATL을 사용하면 코드가 실행될 때 hwta에 대한 이해를 얻을 수 있습니다. Stroustrup이 책을 읽는 것은 MFC 및/또는 ATL을 이해하는 데 도움이되지 않습니다. ATL이 기본적으로 템플릿, 매크로 등의 프레임 워크이므로 COM을 사용하는 방법에 초점을 맞추어야합니다.

희망이 있습니다.

관련 문제