c - 何时以及如何在 c 中添加库函数的代码?

标签 c

当我们在 C 中包含头文件时,我们实际上添加了 printf 、 scanf 等函数的声明。但是函数的代码(函数声明)如何添加到程序中?

最佳答案

这是通过链接的过程完成的。单独编译的翻译单元有一种符号引用相关名称的方法,因此您的代码只会说“调用名称为‘printf’的函数”,链接过程的工作是在提供的其中一个中查找这些符号对象或库文件。

标准库通常隐式链接到您的代码,因此您可能没有意识到您正在将您的代码与预先存在的库代码链接起来。如果您使用自己的库,您肯定会意识到这一点。

请注意,链接没有标准,因此您通常不能用一种编译器编译一个文件,用不同的编译器编译另一个文件,然后将它们链接在一起。问题不仅在于就名称 的表示方式达成一致,还在于如何为函数调用生成代码。然而,在提供一定程度的互操作性的流行平台上有几个“非正式的”调用约定名称修改规则

关于c - 何时以及如何在 c 中添加库函数的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31193088/

相关文章:

c - 使用一个 fscanf 从文件中读取多个字符串

c++ - 从 WINAPI 获取文件的先前版本

c++ - 如何在二维指针数组中打印给定索引处的值?

c++ - 为什么在 C 中减去 '0' 会导致 char 所代表的数字?

c - 使用-不使用 while 循环在 C 中随机播放一个 int 数组

c - 如何从C中的字符中删除空行?

c - mmap() 拥有内存块

c - 别名结构成员

c - 下面的 C 代码的输出是什么?

c++ - 在 Windows 中进行 C 或 C++ 编程时如何操作 GUID?