C语言头文件 undefined reference to 及其它知识点

我今天用linux编译包含头文件的c文件出错了,找了一下午。
在这里插入图片描述

最后发现需要两个.c文件一起编译
就是说,我有apple.c apple.h文件。然后pear.c引用了apple.h中的文件,那么需要apple.c和pear.c一起编译,也就是 gcc apple.c pear.c

另外,搜索后发现了一些头文件的知识点

  1. #include是引用系统中的头文件,而#include“xxx.h”则是引用自己写的头文件。另外引用自己写的头文件时要写对路径,路径没写对会有这个错误:
    C语言头文件 undefined reference to 及其它知识点_第1张图片
  2. 头文件的方法定义有extern 啥的,但我之前一直没有写好像也没有什么关系。具体戳这
  3. 多个文件引用同个头文件时需要加上#ifndef #define #endif,用来保证头文件只用一次。C语言头文件 undefined reference to 及其它知识点_第2张图片4. .h文件实质就是声明文件,比如说别人想用你的方法,但你又不想给他源码,那你可以给.h文件。但其实只是把.h拼接到了另一个.c上,也可以让函数调用更加方便简洁,一般函数的声明,用法,结构体啥的调用时需要的信息都在.h里面

你可能感兴趣的:(C语言,c语言,开发语言,后端)