C和C++介绍

C 语言介绍

C 语言是一种通用的高级编程语言,由 Dennis Ritchie 在 1972 年开发。它以其高效性和灵活性广泛应用于系统编程和嵌入式系统。C 语言提供了对底层内存的直接访问能力,支持过程化编程,并且具有丰富的标准库。

C 语言版本及内存管理特性

版本 发布年份 新特性/改进 内存管理相关特性
C89/C90 1989 引入标准库、函数原型、void 数据类型 引入动态内存分配 (malloc, calloc, free)
C99 1999 inline 函数、long long 类型、变长数组、可变参数宏、_Bool 类型 支持变长数组,增加了对类型的更大支持
C11 2011 多线程支持、原子操作、静态断言、类型泛型宏、Unicode 支持 线程安全内存管理,增加了原子类型
C17 2017 修复 C11 中的缺陷,增加小的改进 继续优化内存管理细节

C 标准库实现

库名称 简介 使用场景
glibc GNU C 库,最常见的 C 标准库实现,用于大多数 GNU/Linux 发行版。提供完整的 POSIX 兼容接口,包含线程、网络和文件操作支持。 Linux系统的默认选择
musl 轻量级、快速的 C 标准库,专注于小型、静态编译的系统,兼容 POSIX 和 C 标准。常用于 Alpine Linux 和容器中。 资源受限的系统
uClibc 适用于嵌入式 Linux 系统的轻量级 C 标准库,支持较小的二进制文件,但功能不如 glibc 完整。现已发展为 uClibc-ng 分支。 嵌入式系统
Bionic 安卓系统的 C 标准库,实现了基本的 C 标准库功能,提供移动平台特有的功能优化。 Android系统
newlib 用于嵌入式系统的轻量级 C 库,最初由 Cygnus Solutions 开发,支持嵌入式和 RTOS 环境。 嵌入式开发
Dietlibc 超小型 C 标准库,体积小,适合小内存、低存储设备,支持基本 C 标准库函数。 超小型设备
libc++ LLVM 提供的轻量 C 标准库,专为符合现代 C++ 标准而设计,主要用于 macOS 和 BSD 系统。 LLVM环境
MSVC CRT 微软提供的 C 运行时库,实现了 C/C++ 标准库的大部分内容,包含 Windows 特定的功能和扩展。 Windows系统

C++ 语言介绍

C++ 语言是 C 语言的扩展,由 Bjarne Stroustrup 在 1983 年开发。它支持面向对象编程、泛型编程以及过程化编程。C++ 提供了丰富的标准模板库(STL),使得数据结构和算法的使用变得更加高效和便捷。

C++ 语言版本及内存管理特性

版本 发布年份 新特性/改进 内存管理相关特性
C++98 1998 引入 STL、异常处理、命名空间、运算符重载、模板 引入构造函数和析构函数,管理对象的生命周期
C++03 2003 主要是对 C++98 的修正 继续改进内存管理
C++11 2011 范围 for 循环、智能指针(std::unique_ptrstd::shared_ptr)、lambda 表达式、autonullptr 引入智能指针,自动管理内存
C++14 2014 泛型 lambda、用户定义字面量、增强 std::make_uniquestd::make_shared 继续优化智能指针的使用
C++17 2017 结构化绑定声明、std::optionalstd::variant、并行算法 引入新的内存管理工具,如 std::optionalstd::variant
C++20 2020 概念、协程、std::format、范围库 新的内存管理特性,支持更复杂的数据结构

C++ 标准库实现

库名称 简介 使用场景
libstdc++ GCC(GNU 编译器套件)提供的 C++ 标准库,广泛应用于 Linux、macOS、Windows 等跨平台环境。 跨平台 C++ 开发
LLVM libc++ LLVM 项目提供的 C++ 标准库,专为现代 C++ 标准优化设计,支持 C++11 及更新的标准。 macOS, iOS, BSD
MSVC STL 微软提供的 STL 实现,集成在 MSVC 编译器中,支持最新的 C++ 标准,包含 Windows 环境的优化。 Windows 系统开发
EASTL EA(Electronic Arts)开发的游戏优化 STL 实现,关注高性能、低内存分配开销,常用于游戏开发。 游戏开发
SGI STL 由 Silicon Graphics 推出的 STL 实现,是许多 C++ 标准库实现的基础,后来被 libstdc++ 和 MSVC STL 吸收。 历史性实现

注意:本内容由AI系统生成。

posted @   长空nice  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示