2009-07-24 4 views
0

"다른 언어의 개발자를위한 C 학습"책 또는 튜토리얼이 있습니까?Visual Studio 2008/Visual C++ 2008 Express를 사용하여 C 학습하기

현재 C 언어 (C++이 아닐지도 모릅니다)를 배우려고하고 있는데, 경험이 있었지만 (Borland C를 사용하여 DOS 응용 프로그램을 쓰는 학교에서 사용 했었지만)별로 몰라요. 표준 라이브러리 또는 "아키텍처"에 대한 정보를 제공합니다.

내가 배우기 위해 사용하고 싶은 나의 현재 프로젝트는 Ogg Theora 플레이어를 작성하는 것입니다. 즉, 내 프로젝트에서 libogg, libvorbis 및 libtheora를 사용합니다. 하지만 여기에는 이미 문제가 있습니다. 어떻게 연결합니까?

저는 C# 개발자이고 C#에서는 참조를 추가하고 정상적으로 작동합니다. 그러나 Visual C++ (필자가 정말 많이하고 싶은 프로젝트가 기존의 C Visual C++ 프로젝트에 의존하기 때문에 어떤 경우 에든 사용할 컴파일러/IDE)에서는 프로젝트 속성에 압도 당하고 있습니다.

C에 대한 많은 자원을 찾았지만 많은 것들은 실제로 어떤 기능이 있는지를 설명합니다. - 기능이 무엇인지 알고 있습니다. C와 C 사이의 기능 차이점을 알고 싶습니다./자바) 또는 정말로 학문적 인 (나는 잠을 자고 읽을 것이지만 그것으로부터 무언가를 배우지 않는 것). 보다 간결 기존의 C#/자바/PHP/무엇이든 개발자를위한, 또한 ++ 2008

모든 좋은 힌트를 비주얼 C를 사용하는 방법에 대한

나는 this book 유용하다고하지만, 나는 또한 뭔가를 찾고?

답변

3

해당 라이브러리의 사전 컴파일 된 버전 (예 : .lib 개의 파일과 인터페이스가있는 파일 .h 개)이 있다고 가정합니다. Project Properties로 가서 왼쪽의 트리에서 Linker \ General을 선택하십시오. "Additional Library Directories"에서 .lib 파일이있는 위치에 경로를 추가합니다. 그런 다음 Linker \ Input으로 이동하고 "0121 추가 파일"에 모든 .lib 파일을 나열합니다. 그것은 연결을 처리해야합니다.

헤더 파일의 경우 C/C++ \ General로 이동하여 해당 디렉토리가 "추가 포함 디렉토리"에 추가되어야합니다. 그럼 평소처럼 #include 수 있습니다.

+0

감사합니다. 따라서 .lib는 내 응용 프로그램 외부에있는 동적 링크 라이브러리 인 .dll과 비교할 때 내 코드의 일부로 컴파일 할 수있는 정적 라이브러리를 의미합니다. 어쨌든 .h 파일이 항상 필요합니다. (나는이 경우에, .lib로 항상 올바른 방법으로 작업 할 필요가 있는지 확인해달라고 요청합니다.) –

+2

네 .h 파일은 어느 쪽이든 필요합니다. 네이티브 DLL에는 형식 및 함수 메타 데이터가 없습니다. .NET 어셈블리와 달리 컴파일러가이를 알기 위해서는 .h 파일이 필요합니다. 또한 DLL을 사용하여 작업하는 경우에도 일반적으로 "내보내기 라이브러리"가 있습니다. 실제로 .lib 파일은 코드를 포함하지 않지만 링커에게 해당 기호가 실제로 이러한 DLL에 있는지를 알려줍니다. 정적 라이브러리와 동일한 방식으로 프로젝트에 링크합니다. –

1

나는 파스칼에서 대학 수업을 듣고 나서 Kernighan and Ritchie (K & R)를 좋아해서 쉽게 변형했다고 생각했습니다.

Basic, Pascal, Assembly 및 "Programming Languages"클래스의 다양한 클래스가 튀어 나와 있습니다. K & R은 읽기 쉽고 간결하며 대부분의 C 프로그래머 용 라이브러리의 첫 번째 책이어야합니다.

1

프로젝트의 다른 라이브러리에 연결하는 또 다른 편리한 방법은 솔루션 탐색기에서 기존 항목으로 연결하려는 .lib 파일을 추가하는 것입니다. IDE는 링커에 전달할 것을 알게됩니다. 이렇게하면 링커 설정의 별도 위치에 경로와 파일 이름을 추가 할 필요가 없습니다.

학습 C에서 가장 고전적인 (예 : K & R)은 POSIX 환경에서 표준 C 라이브러리를 사용하는 데 매우 적합합니다. 윈도우에 C 프로그램을 작성하려면 특히 멀티미디어 애플리케이션을 작성하려면 Win32 API를 사용해야합니다. http://msdn.microfost.com은 샘플 및 자습서에서 가장 필요한 유익한 시작점입니다.

Win32에서 일반 C로 GUI를 작성하는 것은 통하지 않는 고통의 세계입니다. 평범한 C (C++이 아닌) 인터페이스를 가진 경량의 ​​네이티브 Win32 UI 라이브러리를 선택하는 것에 대한 조언을 원할 수 있습니다.

+0

http://msdn.microsoft.com입니다. – sammyg

1

Pavel Minaev의 답변 외에도 특정 종속성을 쉽게 정의 할 수있는 속성 시트 (.vsprops)를 만드는 것이 유용하다는 것을 종종 알게됩니다.

예를 들어 libX에 의존하는 경우 libX.vsprops 파일을 만들고 필요한 include 경로, lib 경로 및 .lib 파일을 속성 시트에 넣을 수 있습니다. 이 속성 시트는 구성 및/또는 프로젝트에서 사용할 수 있으므로 변경 될 때 여러 구성을 업데이트하는 번거 로움을 덜어줍니다.

속성 시트에 대한 자세한 내용은 MSDN에 있습니다.

경고 : 솔루션 시트를 닫을 때만 속성 시트가 ​​저장됩니다! 수동으로 또는 빌드를 시작할 때 "모두 저장"을 수행하면 이 아닌이 저장됩니다.

1

프랑스어를 이해할 수 있다면 좋은 자습서가 바로 here입니다.

기본 사항뿐만 아니라 복잡한 내용에 대해서도 설명합니다.

3

C 프로젝트에 Visual Studio보다 가볍고 사용하기 쉬운 무언가를 사용하지 않는 이유는 무엇입니까?

나는 Code::Blocks을 추천합니다. 날 믿어, 그것은 많은 비주얼 스튜디오보다 더 가볍고, 그리고 내 생각에이 책에 관하여 C.에


을 개발하기 위해 학습하는 동안 함께 일을 더 많이, 난 두 K&R's C Programming Language 갈 것이지만, 나는 또 다른 한개를 추천한다 : C Primer Plus 그리고 나는 후자가 초심자의 책으로 더 적절하다고 생각한다.