2012-10-06 3 views
0

가능한 중복 :
In C++ why have header files and cpp files?
헤더 파일이 필요합니까?

는 C#을 배경에서오고, 나는 헤더 파일은 정말 짜증나는 찾을 수 있습니다. C++ 11에서도 필요합니까?

+1

C++에서 필요하지 않은 이유는 무엇입니까? –

+2

@CodingMash 표준위원회가 모듈을위한 좋은 방법을 찾았다면 대체물이었을 것입니다. 하지만 그 일은 매우 복잡한 주제입니다. – johannes

답변

2

C++에는 참조 어셈블리가 필요한 것처럼 헤더 파일 (및 libs도 필요합니다.)이 필요합니다.

0

예. DLL 또는 SO를 개발하려고한다고 가정합니다. 개발자는이 라이브러리가 제공하는 기능을 어떻게 알 수 있습니까? 따라서 사용자 정의 프로젝트에 포함 할 API라는 프로토 타입이 필요합니다. 이 방법은 선언과 구현을 분리합니다. 사용할 수있는 함수를 선언하지만 항상 내부 코드를 변경할 수 있습니다.

1

예, 여전히 C에 기반하고 있기 때문에 가능합니다. 자신의 질문에 대답 할 수 있습니다. 사용하지 말고 컴파일하지 마십시오. 그렇게 할 수 없다면, 컴파일러는 여전히 그것을 요구합니다.

나는 가석 항체로 그런 뜻이 아닙니다. 언어 스펙이 여전히 그들을 요구하고 컴파일러가 스펙과 일치한다면, 변경하려는 방대한 노력이 필요할 것입니다. 그리고 논쟁은 매우 오랜 시간이 걸릴 것입니다. 이것은 진짜 끝이없는 배출과 논쟁보다 조금 더 많은 것을 의미하는 질문처럼 들립니다.

+0

헤더를 사용하지 않고 전체 응용 프로그램을 작성하고 컴파일 할 수 있습니다. 표준에 아무 것도 없으므로 머리글을 사용하지 않아도됩니다. (물론 이것은 실생활 코드가 아니며 아주 간단한 테스트에만 해당됩니다.) – johannes

+0

@johannes C++ 표준은 표준 라이브러리의 헤더를 정의합니다. 어떤 것도 사용하지 않아도되지만 표준 라이브러리를 사용하려면이 헤더를 사용해야합니다. – juanchopanza

+0

@ juanchopanza 그렇습니다. 그래도, 그것 없이는 사소한 테스트 프로그램을 작성할 수 있습니다. 내가 말했던 것 (그리고 글쎄, 어떤 컴파일러는 표준 헤더를위한 "내장 헤더"의 일부 형태를 사용할 수도있다. 헤더 파일이 아닐지도 모르지만, 이제는 철학적으로 된 것 같다. 나는이 대답에 대해 논평하고 싶다. 헤더없이 컴파일 할 수는 없지만, 헤더를 포함하지 않으면 할 수없는 많은 것들이 있습니다. 그러나 헤더없는 옵션이 남아 있습니다. – johannes

관련 문제