为什么调用c库中库文件要有头文件,而调用自己写的静态库和动态库就 不需要包含导出文件的头文件
2个回答
展开全部
什么时候需要头文件,是这样的:
编译程序如果遇到一个函数调用,那么它就要查这个函数是否给出了调用的格式,假设这个函数是在调用程序前面写出的,那么经过编译程序的编译,编译程序已经知道了函数调用规则格式,就不需要再说明了,比如:由于fun函数体写在main函数之前,无需说明即可调用
void fun(int a,int n) { ... }
void main() { ... fun(x,y); }
如果函数写在调用程序之后,编译程序在编译这个调用语句时,没有编译过这个函数,那就需要在前面事先说明一下了:
void fun(int a,int n); //函数头说明语句
void main() { ... fun(x,y); }
void fun(int a,int n) { ... }
那么由于标准c函数库的头写到头文件中,你要使用必须加上这些函数的调用格式说明,所以要加include语句,你的函数其实也是一样的。
编译程序如果遇到一个函数调用,那么它就要查这个函数是否给出了调用的格式,假设这个函数是在调用程序前面写出的,那么经过编译程序的编译,编译程序已经知道了函数调用规则格式,就不需要再说明了,比如:由于fun函数体写在main函数之前,无需说明即可调用
void fun(int a,int n) { ... }
void main() { ... fun(x,y); }
如果函数写在调用程序之后,编译程序在编译这个调用语句时,没有编译过这个函数,那就需要在前面事先说明一下了:
void fun(int a,int n); //函数头说明语句
void main() { ... fun(x,y); }
void fun(int a,int n) { ... }
那么由于标准c函数库的头写到头文件中,你要使用必须加上这些函数的调用格式说明,所以要加include语句,你的函数其实也是一样的。
更多追问追答
追问
在问一下,是说,在编辑时,把静态库或者动态库先编辑了,再编辑调用库的代码(如main()),所以不用头文件吗?
追答
不清楚是什么情形,动态库的头文件已经包含还是什么情况,不确认
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询