书上说头文件一般只有声明,比如void func(void);
函数的定义则是在源文件中,那也就是说我新建的项目要使用以前项目中写过的一些函数(有相关头文件含有它们的声明),光靠把相关头文件#include进来是没用的喽?
可是为什么像stdio.h这样的可以不用包含它的源文件呢?
书上说头文件一般只有声明,比如void func(void);
函数的定义则是在源文件中,那也就是说我新建的项目要使用以前项目中写过的一些函数(有相关头文件含有它们的声明),光靠把相关头文件#include进来是没用的喽?
可是为什么像stdio.h这样的可以不用包含它的源文件呢?
stdio.h的实现在stdlib里,封装起来了,不能通过文本格式打开,防止被修改!
很多函数只提供给你头文件(相当于接口,只给用户使用),而没有具体实现的源代码
(一是防止修改,二是有些源代码可是公司核心竞争力啊,怎么可能让用户看)
而那些.c和.cpp都会被编译成库(lib,dll等),这些库被放在系统能找到的路径下,楼主只要包含头文件,
具体的实现程序会自己去这些目录下找对应的库