文档章节

第16章 C预处理器和C库 16.8 C库

idreamo
 idreamo
发布于 2017/07/26 07:19
字数 652
阅读 10
收藏 0

最初并没有官方的C库,后来,基于UNIX的C实现变成了事实上的标准。于是ANSI C 委员会主要以这个标准为基础开发了一个官方标准库。认识到C的应用范围不断扩展后,该委员重新定义了这个库,以使它可以在更广泛的系统上实现 。

前面已经讨论了一些标准库函数中的I/O函数、字符函数、字符串函数。本章将介绍更多的函数。不过,我们首先需要讨论如何使用库。

16.8.1  访问C库

如何访问C库依赖于实现,因此您需要明白应用于所有系统的更多的一般情况。首先,通常可以在多个不同位置找到库函数。第二,不同系统使用不同的方法搜索这些函数 。下面内容概述了三种可能性。

一、自动访问 

在许多系统上,您只需要编译,一些常见的库函数自动可用。

记住,应该声明所使用的函数类型,通常包含适当的头文件即可做到这一点。描述库函数的用户手册指出了应该包含哪个头文件。

ANSI C 标准把库函数分为多个系统,每个系列的函数原型都放在一个特定的头文件中。

二、文件包含

如果函数定义为宏,可以使用#include指令来包含拥有该定义的文件。通常,类似的宏放在具有适当名字的头文件中。例如,许多系统都具有ctype.h文件,该文件包含一些确定字符性质(如大写、数字等等)的宏。

三、库包含

在程序编译或链接的某些阶段,您可能需要指定库选项。即使在自动检查标准库的系统上, 也可能有不常使用的库函数。必须使用编译时选项来显式地指定这些库。注意,要把这个过程和包含头文件区分开来。头文件提供函数声明或原型,而库选项告诉系统到哪寻找函数代码。 这些讨论可以提醒您应该注意些什么。

16.8.2  参考库描述

可以在几个地方找到函数文档。您的系统可能有在线手册,而集成开发环境通常有在线帮助。

阅读文档的关键技巧是解释函数头,许多内容随时间变化。

© 著作权归作者所有

idreamo
粉丝 18
博文 139
码字总数 224743
作品 0
青岛
产品经理
私信 提问
C Primer Plus 第11章 11.7 ctype.h字符函数和字符串

第7章“C控制语句 分支和跳转”介绍了ctype.h系列字符相关的函数。这些函数不能被 应用于整个字符串,但是可以被应用于字符串中的个别字符。程序清单11.26定义了一个函数,它把toupper( )函数...

idreamo
2016/08/27
29
0
[编程语言]C陷阱与缺陷

内容摘要 作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过...

21gprs
2014/05/23
0
0
#define 中的“ # 运算符”和“ ## 运算符”

利用宏参数创建字符串:# 运算符 在类函数宏(function-like macro)的替换部分中,“#”符号用作一个预处理运算符,它可以把语言符号(token)转化为字符串。例如,如果 x 是一个宏参量,那...

TMDJoJo
2012/07/07
0
0
简单而小型的单通道 C 编译器--SmallerC

SmallerC 是一个简单而小型的单程 C 编译器,目前支持 C89/ANSI C 和 C99 之间的大部分 C 语言(去掉了一些 C89 功能,加上一些 C99 功能) 目前,它为 NASM 生成 16 位和 32 位 80386+ 汇编...

匿名
2017/10/15
81
0
C Primer Plus 第12章 12.3 存储类和函数

函数也具有存储类。函数可以是外部的(默认情况下)或者静态的(C99增加了第三种可能性,即在第16章“C预处理器和C库"中将讨论的内联函数)。外部函数可以被其他文件中的函数调用,而静态函数...

idreamo
2016/11/19
15
0

没有更多内容

加载失败,请刷新页面

加载更多

Protocol Buffers 简介

文档编辑和持续集成状态: 本文档的 Protocol Buffer 的中文文档使用的是 Asciidoctor 进行编排的 http://docs.ossez.com/protocol-buffers-docs/index.html(本 WIKI 中的内容将会与在线发布...

honeymoose
今天
4
0
uniapp + bootstrapvue 移动/PC 一套搞定 (一)配置bootstrapvue

1.准备文件 自己到DCloud官网: http://dcloud.io/ 去下载官方的IDE Hbuilder,新建一个空的uniapp项目即可。 uniapp框架自带优化的vue,我们仅仅需要准备以下三个文件: bootstrap.min.css ...

panyunxing
今天
11
0
Android Camera原理之camera service类与接口关系

camera service主要是指 frameworks/av/services/camera/下面的代码,最近在看这一块的代码,为了更好地理清这一块的代码,也为了后续学习camera方便一些,我觉得很有必要理一下这一块的整体...

天王盖地虎626
今天
6
0
Golang学习笔记

[TOC] Golang学习笔记 这个学习笔记是最早在1.初,版本左右的时候写的,和当前最新的版本可能会有较大的差异. 因为成文比较早,文章里面又有很多自己的见解,有些东西当时理解的不太透彻可能写错...

我爱吃炒鸡
今天
18
0
科技赋能成效显著!金融壹账通两大赋能项目荣获IDC大奖

7月19日,2019IDC中国未来金融论坛曁颁奖典礼于北京举办。由金融壹账通赋能的长春农商银行多人视频面审智能风控系统、包头农商银行互联网银行SaaS服务两大项目因在项目的创新性、技术领先性、...

IFTNews
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部