GNU C LIB
自由的歌谣
本书是自由软件丛书的一部分,也是一首自由的歌谣。
本书中阐述的GNU C库,定义了所有在ISO C标准所规定的,以及POSIX标准、其它相关标准和UNIX系统所派生的标准中定义的所有函数,为GNU操作系统所支持。
C程序设计语言提供诸如输入/输出、内存管理、字符串操作以及其它的相关函数,这些工具在C语言中被定义成标准库(library),读者可以链接到读者的程序中使用。本书的目的是告诉读者如何使用GNU
library提供的所有函数,其中包括所指出的函数是哪个标准所定义的,以帮助读者发现潜在的造成不可移植的因素。
一、本书的对象
本书在讲解之时,假定读者已有最起码的C程序设计语言(最好是传统的ISO标准C)基础和编程概念。因此此书的对象群是一些高级程序设计人员、系统分析人员以及象我这样的自由软件资源的发烧友们。
GNU C库包括许多头文件(header files),每个头文件定义了一组相关的函数,这些是GNU
C编译器在编译读者的程序时要用到的。例如,头文件"stdio.h"定义了一些与输入/输出有关的函数,而头文件"string.h"则定义了一些与字
符串处理相关的函数。本书也是根据这些头文件来组织的。
如果读者是第一次阅读此书,可以重点阅读所有的介绍部分,而略过其余的章节。因为GNU
C库中提供了大量的函数,一个人也许要用穷尽一生的时间才能够熟记本书中介绍的每一个函数的具体用法。我们建议读者在阅读此书时,只需要了解GNU中大概
提供了哪些函数,以便今后在写程序时知道可以使用哪个,以及在本书中如何查找等等。本书更象一本GNU字典类的工具书。
二、本书讨论的标准和移植性
本书讨论GNU C库遵照的各种各样标准和其他来源。这些来源包括:ISO C、POSIX标准、System V及BSD(伯克利)UNIX的实施标准。本书最重要的目的是告诉读者如何有效地使用GNU
C库提供的函数。然而,如果读者想让程序兼容这些标准,或者易于移植到其它操作系统,对GNU C库的使用细节都会不同。
2.1 ISO C
GNU C库与被美国国家标准协会ANSI所采用的C标准----"ANSI C"(ANSI X3.159-1989)以及后来国际标准化组织ISO所采用的
C标准----"ISO C"(ISO/I
相关文档:
extern "C" 详解
在C++中,为了支持重载机制,在编译生成汇编代码时,函数的名字要加入函数的参数类型或者返回值类型等信息
在C中,因没有重载机制,编译后的代码只是简单的函数名字而已,不加入其他的信息
1. 不加入extern "C"
testexternc.cpp
int mytest(void)
{
int a=10,b=20;
int c=a+b;
ret ......
Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?
A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符。比如,为了转换一个类型为doubole的浮点数的指针到整型:
......
Data Type Ranges
C/C++ recognizes the types shown in the table below.
Type Name Bytes Other Names Range of Values
&nb ......
c与c++ static函数的区别
本文转自:http://blog.csdn.net/lipps/archive/2007/05/18/1615419.aspx
static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准).
(1)局部静态变量
(2)外部静态变 ......
搞软件是有搞头的
——邹祁峰
2009年12月3日
声明:所说的只针对C、C++、.NET专业的同学,对其他专业也许没有参考价值!
[推荐给大三的学弟学妹们]
【欢迎各位朋友补充】
对我个人而言,大学毕业找工作算是画上了一个许多人羡慕,但我自己仍感遗憾的句号。找工作期间 ......