C 헤더 파일을 어떻게 만들 수 있습니까?
내 C 프로그램 중 하나에 #include 할 수있는 헤더 파일에 함수 모음을 만들 수 있기를 원합니다.
- 좋아하는 텍스트 편집기 열기
- whatever.h라는 새 파일을 만듭니다.
- 함수 프로토 타입을 넣으십시오.
끝난.
예 whatever.h
#ifndef WHATEVER_H_INCLUDED
#define WHATEVER_H_INCLUDED
int f(int a);
#endif
참고 : luke 덕분에 추가 된 가드 (전 처리기 명령)를 포함합니다. 동일한 컴파일에 동일한 헤더 파일을 두 번 포함하지 않습니다. 또 다른 가능성 (주석에도 언급 됨)은 추가하는 #pragma once
것이지만 모든 컴파일러에서 지원된다는 보장은 없습니다.
예 whatever.c
#include "whatever.h"
int f(int a) { return a + 1; }
그런 다음 "whatever.h"를 다른 .c 파일에 포함시키고이를 whatever.c의 개체 파일과 연결할 수 있습니다.
이렇게 :
sample.c
#include "whatever.h"
int main(int argc, char **argv)
{
printf("%d\n", f(2)); /* prints 3 */
return 0;
}
컴파일하려면 (GCC를 사용하는 경우) :
$ gcc -c whatever.c -o whatever.o
$ gcc -c sample.c -o sample.o
파일을 링크하여 실행 파일을 만들려면 :
$ gcc sample.o whatever.o -o sample
샘플을 테스트 할 수 있습니다.
$ ./sample
3
$
헤더 파일은 컴파일 전에 전처리기에 의해 컴파일 단위로 삽입되기 때문에 유효한 C 코드를 포함 할 수 있습니다.
헤더 파일에 함수가 포함되어 있고 여러 .c
파일에 포함 된 경우 각 .c
파일은 해당 함수의 복사본을 가져 와서 기호를 만듭니다. 링커는 중복 기호에 대해 불평합니다.
기술적 static
으로 여러 .c
파일 에 포함하기 위해 헤더 파일에 함수 를 만드는 것이 가능 합니다. 이것은 일반적으로 코드가 .c
파일 에서 발견 되고 선언이 파일 에서 발견된다는 규칙을 위반하기 때문에 수행되지 않습니다 .h
.
C / C ++ : 헤더 파일의 정적 함수에 대한 설명을 참조하십시오. 무슨 의미입니까? 자세한 설명은.
참고 URL : https://stackoverflow.com/questions/2831361/how-can-i-create-c-header-files
'programing' 카테고리의 다른 글
Windows에서 하나의 인스턴스 만 실행하도록 C # .net 앱을 강제하는 방법은 무엇입니까? (0) | 2020.11.30 |
---|---|
Python, 출력에서 소수점 이하 두 자리까지 모든 부동 소수점 인쇄 (0) | 2020.11.30 |
Generic Intellisense의 새롭고 완전한 구현 (0) | 2020.11.30 |
xpath에서 not contains ()를 사용하는 방법은 무엇입니까? (0) | 2020.11.30 |
SSRS 디자인 모드에서 테이블 릭스 열을 쉽게 재 배열 할 수있는 방법이 있습니까? (0) | 2020.11.30 |