博客
关于我
c/c++语言基础——杂七杂八概念
阅读量:482 次
发布时间:2019-03-06

本文共 1503 字,大约阅读时间需要 5 分钟。

C语言标准与函数库体系

C语言标准

C语言的标准定义了语言的规范性、编译器要求以及程序设计的基本规则。它不仅规定了语言的语法和语义,还包含了编译器必须遵循的规定。标准的形成通常需要多年的讨论和验证,确保其兼容性和实用性。

C语言标准的发展

C语言的标准经历了多次更新和完善:

  • C89(ANSI C):1989年,美国国家标准协会(ANSI)发布了C语言的正式标准,称为ANSI X3.159-1989。该标准成为行业标准,后来常被称为ANSI C。

  • C99:2000年,ANSI采纳了ISO/IEC 9899:1999标准,成为C99。这一版本引入了更丰富的功能和修正。

  • C11:2011年,C11成为最新的C语言标准,新增了对多线程的支持、Unicode功能以及对原子操作的增强。

  • 这些标准的发布标志着C语言的持续发展,确保了不同平台和编译器之间的兼容性。

    C函数库(libc)

    libc是C语言程序开发中的核心工具,它包含了许多基础函数和API。这些函数涵盖了内存管理、文件操作、输入输出、数学计算等多个方面。开发者可以通过调用libc中的函数来完成大量常规任务。

    常见的C函数库

    • glibc:常见于Linux系统,是GNU项目的C函数库。它是许多Linux程序的基础,提供了丰富的功能和性能优化。
    • Microsoft Visual C++:微软的C函数库,主要面向Windows平台,集成了大量Windows API和控件。

    静态库与动态库

    在C语言项目中,函数库可以分为静态库和动态库两种形式:

    静态库

    • 特点:以.a为扩展名,编译时将函数库的代码直接编译到目标程序中。优点是程序独立性强,缺点是文件体积较大。
    • 适用场景:适合对函数库的依赖性要求较高的项目,尤其是在专用环境下。

    动态库

    • 特点:以.so为扩展名,编译时将函数库的代码保留为独立的文件。程序运行时通过加载动态库来完成函数调用。优点是文件体积小,易于升级和维护。
    • 适用场景:适合需要频繁更新或扩展的功能模块,能够提高程序的可维护性。

    标准模板库(STL)

    C++标准库的核心是STL(Standard Template Library),它通过模板技术提供了丰富的数据结构和算法:

    STL的主要组成部分

    • 容器:如vectordequelist等,用于数据存储。
    • 算法:如sortfind等,提供常用操作。
    • 迭代器:定义了对容器操作的通用接口。
    • 其他工具:如mapsetqueue等,支持更复杂的需求。

    STL通过标准化的接口和模板机制,极大地提升了C++程序的可读性和可扩展性。

    微软基础类库(MFC)

    MFC(Microsoft Foundation Classes)是微软提供的一个C++类库,它将Windows API封装到C++类中,提供了丰富的用户界面组件和应用程序框架:

    • 主要功能
      • 窗口和控件的封装。
      • 常用窗口组件的支持,如按钮、文本框等。
      • 应用程序的基础架构,如主循环和消息处理。

    MFC简化了Windows程序开发,适合需要快速开发的项目。

    跨平台编译器(Cross Compiler)

    跨平台编译器可以将源代码编译成目标平台的可执行文件。它的主要作用是确保代码在不同操作系统和处理器上都能正确运行。跨平台编译器通常需要针对特定的目标平台进行优化,以确保性能和兼容性。

    跨平台编译器的应用场景

    • 嵌入式开发:在不同硬件平台上部署相同的软件。
    • 多平台应用:如开发跨平台的Web应用或移动应用。
    • 分发和部署:确保程序在不同环境下都能稳定运行。

    通过使用跨平台编译器,开发者可以有效地管理多平台开发过程,减少维护成本。

    转载地址:http://vuodz.baihongyu.com/

    你可能感兴趣的文章
    Nginx映射本地json文件,配置解决浏览器跨域问题,提供前端get请求模拟数据
    查看>>
    nginx最最最详细教程来了
    查看>>
    Nginx服务器---正向代理
    查看>>
    Nginx服务器上安装SSL证书
    查看>>
    Nginx服务器的安装
    查看>>
    Nginx模块 ngx_http_limit_conn_module 限制连接数
    查看>>
    nginx添加模块与https支持
    查看>>
    Nginx用户认证
    查看>>
    Nginx的location匹配规则的关键问题详解
    查看>>
    Nginx的Rewrite正则表达式,匹配非某单词
    查看>>
    Nginx的使用总结(一)
    查看>>
    Nginx的使用总结(三)
    查看>>
    Nginx的使用总结(二)
    查看>>
    Nginx的可视化神器nginx-gui的下载配置和使用
    查看>>
    Nginx的是什么?干什么用的?
    查看>>
    Nginx访问控制_登陆权限的控制(http_auth_basic_module)
    查看>>
    nginx负载均衡和反相代理的配置
    查看>>
    nginx负载均衡器处理session共享的几种方法(转)
    查看>>
    nginx负载均衡的5种策略(转载)
    查看>>
    nginx负载均衡的五种算法
    查看>>