网站建设方案2018,网站自助建设平台,招标网官方网站,建设银行积分兑换商城网站源文件通过编译可以生成目标文件(例如 GCC 下的 .o 和 Visual Studio 下的 .obj)#xff0c;并提供一个头文件向外暴露接口#xff0c;除了保护版权#xff0c;还可以将散乱的文件打包#xff0c;便于发布和使用。实际上我们一般不直接向用户提供目标文件#xff0c;而是将…源文件通过编译可以生成目标文件(例如 GCC 下的 .o 和 Visual Studio 下的 .obj)并提供一个头文件向外暴露接口除了保护版权还可以将散乱的文件打包便于发布和使用。实际上我们一般不直接向用户提供目标文件而是将多个相关的目标文件打包成一个静态链接库(Static Link Library)例如 Linux 下的 .a 和 Windows 下的 .lib。打包静态库的过程很容易理解就是将多个目标文件捆绑在一起形成一个新的文件然后再加上一些索引方便链接器找到这和压缩文件的过程非常类似。C语言在发布的时候已经将标准库打包到了静态库并提供了相应的头文件例如 stdio.h、stdlib.h、string.h 等。Linux 一般将静态库和头文件放在/lib和/user/lib目录下C语言标准库的名字是libc.a大家可以通过locate命令来查找它的路径~~~$ locate libc.a/usr/lib/x86_64-redhat-linux6E/lib64/libc.a$ locate stdio.h/usr/include/stdio.h/usr/include/bits/stdio.h/usr/include/c/4.8.2/tr1/stdio.h/usr/lib/x86_64-redhat-linux6E/include/stdio.h/usr/lib/x86_64-redhat-linux6E/include/bits/stdio.h~~~在 Windows 下标准库由 IDE 携带如果你使用的是 Visual Studio那么在安装目录下的\VC\include文件夹中会看到很多头文件包括我们常用的 stdio.h、stdlib.h 等在\VC\lib文件夹中有很多 .lib 文件这就是链接器要用到的静态库。大家也可以在当前工程的属性面板(在工程名处单击鼠标右键选择“属性”)中查看路径ANSI C 标准共定义了 15 个头文件称为“C标准库”所有的编译器都必须支持如何正确并熟练的使用这些标准库可以反映出一个程序员的水平除了C标准库编译器一般也会附带自己的库以增加功能方便用户开发争夺市场份额。这些库中的每一个函数都在对应的头文件中声明可以通过 #include 预处理命令导入编译时会被合并到当前文件