내가 메인 파일, vector.c, vector.h로 비교적 간단한 C 프로그램에서 일하고 있어요,하지만 난이 문제로 실행 해요 : 할C 자원
- 두 개의 C 파일에 선언이 제공되면 .h 파일에 대한 포함을 넣습니다.
- 어디서 3 개의 파일 모두에 typedef를 넣어야합니까?
gcc는 내가하는 일에 상관없이 불만을 나타냅니다.
누구나이 질문에 답하거나 내가 읽을 수있는 자료를 가르쳐 줄 수 있습니까?
내가 메인 파일, vector.c, vector.h로 비교적 간단한 C 프로그램에서 일하고 있어요,하지만 난이 문제로 실행 해요 : 할C 자원
gcc는 내가하는 일에 상관없이 불만을 나타냅니다.
누구나이 질문에 답하거나 내가 읽을 수있는 자료를 가르쳐 줄 수 있습니까?
는 main.c에 및 vector.c에, 귀하의 경우, 헤더 정의를 필요로하는 각 C 파일에어디에서 제공하는 선언이 두 c 파일 모두에 필요하면 .h 파일에 대한 포함을 넣을 수 있습니까?
include
문을 넣습니다.
include guards을 사용하는 것은 항상 좋은 생각이며, 컴파일러가 이미 정의 된 기호에 대해 불만을 제기하거나 다중 정의가 필요한 경우에 필요합니다.
어디서 3 개의 파일 모두에 typedef를 넣어야합니까?
이 따라 달라집니다 typedefs
이 벡터 API에 필요한, 또는 특정 경우
typedefs
이 벡터 인터페이스의 일부가 아닌 경우 그들은 아마 common.h과 같은 예를 들어 뭔가를, 제 3 헤더 파일에 속하는 이는 프로젝트의 다른 모든 파일에도 포함될 수 있습니다. 아주 자연스럽게는 :
typedef
은 선언이므로 헤더 파일을 넣기에 적합합니다.헤더가 포함 된 헤더가 있지만 필요하지 않은 경우 여러 경우에 대한 보호가 필요할 수 있습니다. 모든 C 파일은 자체적으로 컴파일된다는 것을 기억하십시오. 물론 #include
을 C 파일과 함께 사용하지 마십시오.
+1 "때때로"비트를 버리고 OP를 포함 가드의 설명으로 가리 킵니다 : 모든 헤더가 원을 그리는 것보다 여러 번 포함 된 것처럼 보호하는 것이 훨씬 쉽습니다 다른 누군가가 무언가 보이는'#include '를 추가 한 후에 컴파일이 시작되었습니다 :) – dasblinkenlight