加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C中的头文件及其用法

发布时间:2020-12-16 10:32:49 所属栏目:百科 来源:网络整理
导读:库头文件仅包含函数的声明.那么,当我们调用库函数时,函数究竟是如何运行的呢? 例如:int strcmp(const char * str1,const char * str2);是C语言中strcmp函数的声明 当我们在程序中调用strcmp函数时,如果头文件中没有函数体,strcmp函数究竟是如何执行的? 解
库头文件仅包含函数的声明.那么,当我们调用库函数时,函数究竟是如何运行的呢?

例如:int strcmp(const char * str1,const char * str2);是C语言中strcmp函数的声明

当我们在程序中调用strcmp函数时,如果头文件中没有函数体,strcmp函数究竟是如何执行的?

解决方法

您想要使用的代码如printf已经编译并存储在某处.当链接器将目标代码与标准库链接时,将构建最终的可执行文件.

尝试gcc -c somefile.c,看看你得到了什么.

还可以尝试gcc -v选项并学习它给出的输出.

找出ld命令的作用,你就会得到答案.

这也是我认为应该帮助你:All about compilation/linking/related

更新:

还想象一下,如果你为stdio.h中的每个程序定义了printf,并且你包含了stdio.h

program.c:

#include <stdio.h>  //suppose this contains definition of printf     

int main()
{            

/*Call printf()  somewhere or maybe not */

}

gcc program.c -o输出

所以这里stdio.h中的所有定义都将在program.c文件中被替换,你的可执行输出将变得非常巨大.相反,最好在需要时从一个地方调用经常使用的函数,例如stdio.h中的printf

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读