标签:#C標準函式庫

共 27 篇文章

Klibc

klibc,一種C標準函式庫,開發者為漢·彼得·艾文(Hans Peter Anvin)。它是自由軟體,採用GNU 通用公眾授權條款或BSD授權條款。它主要應用於Linux開機流程中,而且它也是早期用戶空間(Early user space)與initramfs的一部份。在此時,這些應用程式無法使用glibc。它也適用於嵌入式系統的開發。 註釋 外部連結 [https://web.archive.org/web/200701071037…

GNU C函式庫

GNU C库,又名glibc,是GNU计划所实现的C标准库。尽管其名字中带有“C库”,但它现在也直接支持C++(以及间接支持其他编程语言)。它是自由软件基金会(FSF)在20世纪90年代初为他们的GNU操作系统设计的。它为GNU系统,GNU/Linux系统和一些其他的类Unix系统提供了系统核心库。这些库提供了关键的API,包括ISO C11、POSIX.1-2008和BSD所规定的API和一些底层API,包括open、read、wri…

C动态内存分配

C动态内存分配是在C语言中为了实现动态内存分配而进行的手动内存管理。这种管理是通过C標準函式庫中的malloc、realloc、calloc、free 等函数进行的。 C++ 为了兼容 C 语言也提供这些函数,但是更推荐使用 new、delete 操作符来完成类似的操作。 malloc 所实际使用的内存分配机制有很多不同的实现,执行时间和内存消耗各有不同。 函数概述 C 动态内存分配函数在头文件 stdlib.h 中声明(C++ 中对应…

Bionic (軟體)

Bionic libc,是一種 C 標準函式庫(包含libc、libdl、libm與libpthread),由 Google 所開發的自由軟體,用於 Android 嵌入式系統上,採用 BSD授權條款運行於Linux kernel上。Google 希望用它來取代 glibc,它的發展目標是達到輕量化以及高運行速度。 與典型的BSD C函式庫不同的地方在於,Bionic不倚賴BSD kernel,也無須使用glibc的『GNU較寬鬆公共授…

檔案結尾

檔案結尾(,縮寫為),是作業系統无法从数据源读取更多数据的情形。資料源通常为檔案或串流。 在C標準函式庫中,像getchar这样的数据读取函数返回一个与符号(巨集)EOF相等的值来指明文件结束的情况发生,EOF的真实值与不同的平台有关(但通常是-1,比如在glibc中),并且不等于任何有效的字符代码。块读取函数返回读取的字节数,如果它小于要求读取的字节数,就会出现一个文件结束符。 EOF字符 终端的输入通常是不会结束的,除非设备被断开。…

数据类型 (C语言)

在C语言中,数据类型可以分为两类:基础数据类型和复合数据类型。 基础数据类型 注意:以下是典型的数据位长和范围。编译器可能使用不同的数据位长和范围。请参考具体的参考。 在标准头文件limits.h 和 float.h中说明了基础数据的长度。float,double和long double的范围就是在IEEE 754标准中提及的典型数据。另外,C99添加了新的复数类型,C11添加了原子类型,它们不在本条目讨论范围内。关于这些类型的具体含义…

Crt0

crt0(也叫做c0)是连接到C程序上的一组执行启动例程,它进行在调用这个程序的主函数之前所需要的任何初始化工作。它一般的都采用叫做crt0.o的目标文件形式,经常采用汇编语言编写,链接器自动的将它包括入它所建造的所有可执行文件中。 简介 crt0包含大多数运行时库的基本部分。因此,它进行的确切工作依赖于程序的编译器、操作系统和C标准库实现。 “crt”表示“C runtime”,“0”表示“最开始”。然而,当程序使用GCC来编译的时候…

Complex.h

complex.h是C標準函数庫中的头文件,提供了复数算术所需要的宏定义与函数声明。 类型 C99及C++11都规定了关键字_Complex。因而有3种复数类型: double _Complex float _Complex long double _Complex 次序不是必须遵守的,比如float _Complex也可以写成_Complex float。 _Complex_I扩展为类型为const float _Complex的常量…

C標準函式庫

C 標準函式庫(,缩写:)是在C語言程式設計中,所有符合標準的头文件()的集合,以及常用的函式庫實作程序(如 I/O 輸入輸出和字串控制)。不像 COBOL、Fortran 和 PL/I等程式語言,在 C 語言的工作任務裡不會包含嵌入的關鍵字,所以幾乎所有的 C 語言程式都是由標準函式庫的函式來建立的。 設計 每一個函式的名稱與特性會被寫成一個電腦檔案,這個檔案就稱為標頭檔案,但是實際的函式實作是被分存到函式庫檔案裡。標頭檔的命名和領域…

Musl

musl,一種C標準函式庫,主要使用於以Linux內核為主的作業系統上,目標為嵌入式系統與行動裝置,採用MIT許可證釋出。作者為瑞奇·費爾克(Rich Felker)。开发此库的目的是写一份干净、高效、符合标准的C标准库。Musl的动态运行时只有一个文件,有稳定的ABI,因此可以实现无竞态的版本升级。对静态链接的支持也让可移植单文件应用部署成为可能,而且不会使文件体积膨胀很多。 Musl声称与POSIX 2008标准和C11标准兼容,还…

UClibc

(system calls), Linux内核 / µClinux.]] 在计算术语中,uClibc 是一个面向嵌入式Linux系统的小型的C标准库。最初uClibc是为了支持uClinux而开发,这是一个不需要内存管理单元的Linux版本,因此适合于微控制器系统(uCs;此处"u"是代表"micro"的μ的罗马化). 项目领导人是Erik Andersen.其他主要贡献者是Manuel Novoa III.许可证遵从GNU宽通用公共许…

Newlib

Newlib,一種C標準函式庫,為自由軟體,主要用於嵌入式系統上。由Cygnus Solutions開發,目前由Red Hat公司的工程師Jeff Johnson負責維護工作。Cygwin目前即是使用Newlib來作為它的C標準函式庫。 相關條目 *uClibc

Embedded GLIBC

嵌入式GNU C函式庫(Embedded GLIBC,縮寫為 EGLIBC),一種C標準函式庫,是GNU C 函式庫(glibc)的一個分支。它是自由軟體,採用GNU較寬鬆公共許可證(LGPL)發行。它希望能應用於嵌入式系統,但它的原始碼與執行檔仍然保持與glibc一致。它的作者宣稱它不是glibc的一個分支,而是用來容納glibc核心開發者拒絕採納的patch。 2009年5月6日,因為與glibc核心開發者之間對程式發展方向的爭議,…

Dietlibc

dietlibc,一種輕量化的C標準函式庫。它是自由軟體,由菲力·馮·勒特那(Felix von Leitner)所開發,以GNU 通用公共授權條款第二版公開發行。它的設計目標,是作出一個盡可能小的C標準函式庫,因此它並沒有完全實作出所有glibc的函式,只保留了最重要以及最常用的部份。因為它的精簡特性,經常在嵌入式系統中被使用。 相關條目 uClibc newlib

C语言字符串处理

C字串函式庫是C語言裡負責各種字符串處理操作功能的標準函式庫,例如:複製,連接,標記化和搜索等。 包含的函數 ; 轉換函數 [http://www.cplusplus.com/reference/clibrary/cstdlib/mbtowc mbtowc] - converts the first multibyte character in a string to the matching wide character [http:…

Inttypes.h

inttypes.h是C標準函数庫中的头文件,提供了各种位宽的整数类型输入输出时的转换标志宏。 宏 下述定义的宏用于stdint.h中定义的各种位宽的整形在格式化输入/输出时的格式标志。 前3个字符: PRI 用于printf format SCN 用于scanf format 第4个字符 x 用于hexadecimal formatting u 用于unsigned formatting o 用于octal formatting i …

Stdint.h

stdint.h是C標準函数庫中的头文件,定义了具有特定位宽的整型,以及对应的宏;还列出了在其他标准头文件中定义的整型的极限。 类型 具有特定位宽的整型 typedef signed integer type int8_t; // optional typedef signed integer type int16_t; // optional typedef signed integer type int32_t; // option…

Stdalign.h

stdalign.h是C语言标准2011版新增加的C標準函数庫头文件,为向后兼容目的定义了4个宏: alignas 被扩展为_Alignas,_Alignas为C11的关键字。 alignof 被扩展为_Alignof,_Alignof为C11的关键字。 __alignas_is_defined 被扩展为1 __alignof_is_defined 被扩展为1 在C++11中,alignas与alignof是关键字。alignas用于变…

Strcpy

Strcpy 是C語言的函式之一,來自 C語言標準函式庫,定義於 string.h,它可以複製以 null 為結束字元的記憶體區塊到另一個記憶體區塊內。由於字串在 C 語言不是首要的資料型態,而是以實作的方式來替代,在記憶體內以連續的位元組區塊組成,strcpy 可以有效複製兩個配置在記憶體以指標回傳的字串(字元指標或是字串指標)。 函式原型如下: #include char strcpy(char destination, const…