헤더파일 예제

각 뉴런에 대해 기본 방향을 계산하는 것이 목표입니다. 즉, 뉴런이 가장 열정적으로 발사되는 움직임의 방향(초당 대부분의 스파이크)입니다. 이러한 계산이 수행되는 방법에 대한 세부 사항은 여기에서 고려하는 것이 그리 중요하지 않지만 이 계산을 수행하는 compute_PD()라는 C 함수를 이미 작성했거나 누군가가 제공한 순간을 상상해 보십시오. 헤더 파일 neuron.h와 함께 neuron.c라는 파일입니다. 나는 이것의 좋은 예를 찾는 데 어려움을 겪고 있다. 나는 이유를 설명하는 더 나은 사용 사례를 찾을 때까지 권장 사항을 조금 되돌려 보겠습니다. 이것은 다른 사용자가 제공하는 라이브러리에 대해 수행되며 때로는 컴파일 된 이진 ”Blob”(즉, 소스 코드를 볼 수 없습니다)으로만 수행됩니다. 일반 텍스트 헤더 파일과 쌍을 이루면 정의된 함수와 어떤 인수를 가져와서 반환하는지 확인할 수 있습니다. 바라건대 그 의미가 있습니다^ 나는 [코드 팅을 사용하여 코드를 분리 할 수 없습니다 그래서 호출자 파일이 추가 파일에 별도의 것을 상상이 문서는 단지 당신에게 헤더 파일의 생성에 대한 아이디어를 제공하기 위한 것입니다 동일을 사용하지만 이것은 실제로 일어날 때 당신은 큰 C 프로그램을 작성합니다.

모듈이 함수 정의, 프로토 타입 등을 공유 할 수 있도록 큰 C 프로그램을 작성하는 동안 헤더 파일의 생성은 일반적으로 필요합니다. 변수, 함수, 클래스 등과 같은 프로그램 요소의 이름을 사용하려면 먼저 선언해야 합니다. 예를 들어 먼저 `x`를 선언하지 않고는 x = 42를 쓸 수 없습니다. 대부분의 경우 원본 파일에는 해당 헤더에 선언된 일부 엔터티가 필요하므로 헤더를 자주 포함할 필요가 없는 상황이 발생하지 않습니다. 실행 형의 경우 헤더를 포함할 경우 편집기에서 더 나은 자동 완성을 제공할 수 있는 것 외에는 헤더를 포함할지 여부는 중요하지 않습니다. 라이브러리에서 유용할 수 있습니다. 라이브러리에는 자체적으로 아무 작업도 수행하지 않으므로 진입점(`main` 함수)이 없습니다. 라이브러리에는 다른 사람에게 사용할 수 있는 기능이 있지만 직접 사용하지 않는 함수가 있습니다. 이 귀여운 여우 를 고려당신은 컴파일러와 함께 제공되는 stdio.h 헤더 파일의 포함을 본 것처럼, c 전처리 지시문 #include 포함하여 프로그램에서 헤더 파일을 사용하도록 요청합니다.

Makefile1.txt를 사용하여 메이크를 실행할 때의 모습은 다음과 같습니다: SYSTEM_H가 확장되고 전처리기는 #include 원래 그런 식으로 작성된 것처럼 system_1.h를 찾습니다. SYSTEM_H는 -D 옵션으로 메이크파일로 정의할 수 있습니다. 두 .cpp 파일은 솔루션 add.h 헤더 파일 위치에 있는 동일한 소스 파일에 있습니다. 그리고이 같은 헤더 파일을 사용하는 program.c라는 주요 프로그램 – 지금 우리는 다른 .cpp 파일에 my_class를 사용할 수 있습니다. 컴파일러가 선언을 가져오게 되도록 헤더 파일을 #include. 컴파일러가 알아야 할 모든 것은 my_class가 do_something()라는 공용 멤버 함수가 있는 클래스라는 것입니다. 그런 다음 C 프로그램에 외부 코드(별도의 파일에 있는 코드)를 포함하려면 시스템 지향 헤더 파일을 포함하기 위해 이러한 종류의 파일 포함이 구현되는지 확인해야 합니다. 이 기법(각도 중괄호 포함)은 시스템 디렉터리 의 표준 목록또는 헤더 파일의 컴파일러 디렉토리 내에서 파일 이름을 검색합니다. 반면, 헤더 파일의 두 번째 종류는 사용자 정의 헤더 파일 또는 프로그램에 대 한 다른 외부 파일에 사용 됩니다. 이 기술은 현재 파일이 포함된 디렉터리 내에서 파일을 검색하는 데 사용됩니다. 장기적으로 Makefiles를 사용하는 것이 좋습니다.