2013-06-25 2 views
-2

소스 파일을 만든 후에 헤더 파일을 만들 필요가 있습니까? 헤더 파일에 포함 된 내용은 무엇입니까? 함수 정의가 포함 된 소스 파일에만 필요하거나 적합합니까?헤더 파일의 중요성

나는 함수 포팅과 같은 헤더 파일에 넣은 것을 소스 파일에 넣을 수 있기 때문에 정말 혼란 스럽다. 헤더 파일은 전역 변수 선언에만 적합합니까? 원본 파일과 동일한 이름의 헤더 파일을 만드는 것이 필요합니다.

"이미 헤더 파일은 무엇입니까?" 이 질문과 비슷한 질문이 많이 게시되었으므로 몇 가지 후속 질문을 추가하는 것입니다. C (및 C++)에서

, 파일 자체 translation unit에 컴파일 된 모든 소스 (.c 또는 .cpp) :

+1

C를 알고 있지만 헤더 파일의 용도를 이해하지 못했습니까? 정말? –

+0

make라는 단어를 사용하여 코드를 재사용하고 기능 단위로 분리하려는 경우. 나는 소리를 다루는 것들과 비디오를 다루는 것들은 분리 된 단위이어야한다. .c 파일에는 코드의 내용이 들어 있고 .h 파일은 다른 c/h 파일의 코드에 고기 사용 방법을 알려줍니다. 헤더 파일에 포함 된 것들은 선언 한 기능을 가진 소스 코드와 관련이 있습니다. Google에 ".h 파일은 무엇입니까?"라고 물어보십시오. – enhzflep

+0

죄송합니다. 이전에 C++ 프로그래밍에 대한 지식이 있습니다. 그리고 방금 C를 공부했습니다. 그러나 나는 여분의 것들을 모두 모릅니다. : D – mc8

답변

2

나는 당신이 구글에서 검색하고 무엇이든 그것은 짧은 만드는 것이 아니라 알 필요가 찾을 수있는 것 같아요. 즉, 모든 파일이 자체적으로 컴파일되어 오브젝트 파일을 생성합니다. 모든 오브젝트 파일이 컴파일되면 최종 파일을 작성하기 위해 함께 링크됩니다.

이것은 소스 파일이 다른 소스 파일에 정의 된 것을 알려주지 않는다는 것을 의미합니다. 헤더 파일은이 간격을 채우는 데 필요합니다. 하나 이상의 소스 파일에 구현 된 변수, 함수 등의 선언을 제공합니다 따라서 다른 소스 파일에 포함 시키면 컴파일러는 이러한 모든 외부 요소가 올바르게 사용되었는지 확인할 수 있습니다. 이것은 유일한 목적이 아니며 코드 나 파티션의 재사용과 같은 다른 작업을 지원할 수 있지만 이것이 존재하는 이유입니다.

#include 지시문을 사용하면 헤더 파일이 그대로 포함됩니다.

+0

이진 파일을 만들어야합니까? 헤더 파일을 만든 후에 바이너리 파일을 만들 수있는 인터넷 게시물을 읽었습니다. – mc8