为何C/C++要分为头文件以及源文件?

小微 科技为何C/C++要分为头文件以及源文件?已关闭评论126字数 561阅读模式
摘要喜欢的可以收藏转发加关注这是否和外部调用有关?为什么现,出现了 char 。如此就带来了一个问题,即函数的调用者不知道压栈的长度。例如有函数调用:add(x, y);调用者知道 a...

add(x, y);

调用者知道 add 是一个函数,也知道需要将 x、y 压栈,但应当是先压2个字节、再压4个字节喃,还是先压4个字节,再压2个字节喃;还是连续压2个4字节喃?

这里需要说明一下,在上世纪80年代intel 8084系的处理器普及之前,并无公认的“字节(byte)”概念,以上只是我举例利便。文章源自微观生活(93wg.com)微观生活-https://93wg.com/11452.html

紧接着结构体等特性陆续引入,问题变得更繁杂。在这类情况下,函数调用需要提早声明,以便让调用者得知函数的参数与返回值尺寸(结构体使用也需要提早声明,以便让调用者知道其成员、尺寸、内存对其规则等,这里不赘述了)。文章源自微观生活(93wg.com)微观生活-https://93wg.com/11452.html

于是,头文件就呈现了。这里有人可能就会问了:为何在编译一个源文件时,不去其它源文件查找声明,就如后世的Java、C文章源自微观生活(93wg.com)微观生活-https://93wg.com/11452.html

又后来呈现了C++,因为函数重载、模板等特性,当编译器辨认到一个函数,不但是参数与返回值尺寸,连调用哪个函数都没法从函数名判别了(即上文的“倘若 alpha ,beta 是 C++ 源文件,编译没法通过,这个后文会做解释”一语)。函数与数据结构需要提早声明才能使用更是不可或缺。文章源自微观生活(93wg.com)微观生活-https://93wg.com/11452.html

以上。共勉。文章源自微观生活(93wg.com)微观生活-https://93wg.com/11452.html

学习历来不是一个人的事情,要有个互相监督的火伴,工作需要学习C/C++或者为了入行、转行学习C/C++的火伴可以文章源自微观生活(93wg.com)微观生活-https://93wg.com/11452.html

以上就是微观生活(93wg.com)关于“为何C/C++要分为头文件以及源文件?”的详细内容,希望对大家有所帮助!文章源自微观生活(93wg.com)微观生活-https://93wg.com/11452.html 文章源自微观生活(93wg.com)微观生活-https://93wg.com/11452.html

 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/11452.html