c常用库函数,C++常用库和功能

  c常用库函数,C++常用库和功能

  我很惭愧。我以前只知道boost和STLport之类的库,还有一些GUI库,但是我很惊讶居然有这么多c++库。当然这个问题要辩证的看。诚然,这些库可以直接用于“取”的教义,但如果你是专业研究开发的,那就真的要自己写了,因为适合3354的才是最好的。效率和简单都是我们自己开发的,不然这么多程序员干嘛?程序就像做衣服一样,需要剪裁,需要拼凑,不会做的很好,但也需要借鉴,这样可以少走弯路。

  您还想添加什么库?

  在C中,库的地位很高。C之父比雅尼斯特劳斯特鲁普多次说过,与其设计更多的语法,不如设计扩展功能的库。实际上,C的库是多种多样的,解决了从轻量级到重量级的各种问题。很多都是让人大开眼界,或者感叹前景的思维杰作。因为库的数量非常多,又限于作者水平,很多都不为人知。所以文中提到的一些库都是知名的大型库。

  java标准库

  标准库中提供了C程序的基本功能。虽然C标准库和C标准一起折腾了很多年,但直到标准出来才正式定型。但令人欣慰的是,在标准库的实现上看到了多种多样的实现,并且被实践证明是一部具有工业实力的优秀作品。

  1、丁库姆软件C库

  地点:http://www.dinkumware.com/, http://www.dinkumware.com/

  由P.J. Plauger编写的高质量标准库。P.J. Plauger博士是Dobb博士的程序设计卓越奖的获得者。其编译的库被微软采用已久,最近Borland获得了其OEM授权,其C/C产品中采用了Dinkumware库。

  2、RogueWave标准C库

  参考地点:http://www.roguewave.com/ http://www.roguewave.com/ http://www.roguewave.com/ http://www.roguewave.com/

  这个库用于早期版本的Borland C Builder,后来被其他库取代。不推荐。

  3、SGI STL

  参考地点:http://www.roguewave.com/ http://www.roguewave.com/ http://www.roguewave.com/ http://www.roguewave.com/

  SGI的C标准模板库。

  4、STLport

  地点:http://www.stlport.org/, http://www.stlport.org/

  SGSTL库的跨平台便携版。

  准标准库——Boost

  Boost库是经过锤炼的C库,可移植,提供源代码。作为标准库的备份,是C标准化进程的引擎之一。Boost库由C标准委员会库工作组成员发起,在C社区有很大的影响力,成员近2000人。Boost库为我们带来了最新、最酷、最实用的技术,是一个“准”标准库。

  Boost中有几个著名的库:

  正则表达式

  正则表达式库

  精神

  LL解析器框架,用C代码直接表达EBNF

  图表

  组件和算法

  希腊字母的第11个

  在调用处定义简短匿名的函数对象,这是一个非常实用的函数。

  概念检查

  检查泛型编程中的概念

  数学编程语言(Mathematical Programming Language)

  由模板实现的元编程框架

  线

  可移植C多线程库

  计算机编程语言

  将C类和函数映射到Python

  泳池

  内存池管理

  智能_ptr

  5智能指针,学习智能指针的必读。一篇来自CUJ的文章是一个很好的参考:

  智能指针在Boost,哦,这篇文章可以发现,CUJ提供在线浏览。中文版见第7辑《Dr. Dobbs Journal软件研发杂志》作者译文。

  总的来说,Boost是一个实用价值高、质量好的库。而且由于它强调跨平台和标准C,是现代C的开发者编写平台无关的必备工具。但是Boost中也有很多实验性的东西,在实际开发中需要谨慎。而且Boost中的很多库函数都可以称之为语言函数的扩展,其结构构造十分精巧,不要贸然花时间去研究。另一方面,像Graph这样的库是很优秀的代码,有工业实力,有Boost结构,值得研究,可以放心用在产品代码中。

  参考站点:3358 www . boost . org http://www.boost.org(国内镜像:http://www . c 3358 www . c http://www . c http://www.c-view.org/tech/lib/boost/index.htm)

  图像使用者界面

  在众多的C库中,GUI库是比较繁荣和吸引人的。在实际开发中,GUI库的选择也是一件非常重要的事情。这里我们总结了可选的GUI库,它们各自的特点以及相关工具的支持。

  1、MFC

  著名的微软基础类库(微软基础类)。学过VC的人应该都知道这个库。MFC虽然从技术角度看并不美观,但是它是建立在Windows API之上的,可以让程序员的工作更加轻松,编程效率高,减少了大量构建Windows程序时必须要写的代码。同时,它还提供了一般C编程的所有优点,比如继承和封装。MFC编写的程序可以移植到各种版本的Windows操作系统上。例如,在Windows 3.1下编写的代码可以很容易地移植到Windows NT或Windows 95上。但是最近的发展和官方的支持越来越弱。

  2、QT

  网站:http://www.trolltech.com/,http://www.trolltech.com/

  Qt Trolltech是一个多平台C图形用户界面应用框架。它为应用程序开发人员提供了构建艺术图形用户界面所需的所有功能。Qt完全面向对象,易于扩展,允许真正的组件编程。从1996年初开始,Qt进入了商业领域,它已经成为全球成千上万成功应用的基础。Qt也是流行的Linux桌面环境KDE的基础,它还支持Windows、Macintosh、Unix/X11等平台。

  3、WxWindows

  网站:http://www.wxwindows.org/,http://www.wxwindows.org/

  跨平台GUI库。因为它的类级别和MFC很像,所以有一篇文章讲的是从MFC到WxWindows的代码移植,实现跨平台的功能。通过多年的发展,它也是一个日益完善的GUI库,支持力度丝毫不弱于前两个库。而且是完全开源的。C Builder X最近的GUI设计器就是基于这个库。

  福克斯

  开源GUI库。作者从自己的开发经历中感受到了一个理想的GUI库应该是什么样子,并开始了这个库的开发。有兴趣的可以试试。

  参考网站:3358 www . fox http://www.fox-toolkit.org/

  5、WTL

  基于ATL的库。由于使用了大量的ATL轻量级技术、模板等技术,代码大小和速度优化做得非常好。主要用户是开发COM轻量级可视化控件以便从Internet下载的开发人员。

  6、GTK

  参考网站:http://gtkmm.sourceforge.net/

  GTK是一个著名的C开源GUI库。Linux世界里有Gnome这样的杀手级应用。GTK是这个库的C包版本。

  仓库

  在线交流

  (American Cinema Editors)美国电影电视剪接师协会

  参考网站:http://http://www.cs.wustl.edu/~schmidt/ACE.html

  c库,一个超重量级的网络通信开发框架。ACE(Adaptive Communication Environment)是一个可以免费使用的开源面向对象框架,其中实现了许多并发通信软件的核心模式。ACE提供了一组丰富的可重用C Wrapper Facade和框架组件,可以跨多个平台完成常见的通信软件任务,包括:事件解复用和事件处理程序调度、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务的动态(重新)配置、并发执行和同步等等。

  流模块

  网站:http://www.omnifarious.org/StrMod/,http://www.omnifarious.org/StrMod/

  设计一个库来简化分布式程序的编写。尽量让编写处理异步行为的程序更容易,而不是用同步外壳包装异步的本质。

  简单插座

  参考网站:http://home.hetnet.nl/~lcbokkers/simsock.htm

  这个类库使得编写基于套接字的客户机/服务器程序变得更加容易。

  一个面向C的流套接字API

  参考网站:http://www.pcs.cnu.edu/ http://www.pcs.cnu.edu/~dgame/sockets/socketsC/sockets.html

  Socket的另一个包库。

  可扩展置标语言

  序列化

  参考网站:http://xml.apache.org/xerces-c/

  Xerces-C是一个非常健壮的XML解析器,它提供了验证、SAX和DOM API。XML对文档类型定义(DTD)有很好的支持,2001年12月,增加了一个基本完整的支持W3C XML Schema的开放标准。

  XMLBooster

  网站:http://www.xmlbooster.com/,http://www.xmlbooster.com/

  这个库通过生成一个专门的解析器,大大提高了XML解析的速度,并且可以生成相应的GUI程序来修改这个解析器。除了DOM和SAX这两种主要的XML解析方法之外,它提供了另一种可行的解决方案。

  拉解析器

  网站:http://www.extreme.indiana.edu/xgws/xsoap/xpp/,http://www.extreme.indiana.edu/xgws/xsoap/xpp/

  本库采用拉方法的解析器。在每个SAX解析器的底层,都有一个pull解析器,这个xpp把这一层公开出来,让大家直接使用。在要充分考虑速度的时候值得一试。

  处理器

  参考网站:http://xml.apache.org/xalan-c/

  Xalan是一个XSLT处理器,用于将XML文档转换为HTML、纯文本或其他XML文档。

  CMarkup

  网站:http://www.firstobject.com/xml.htm,http://www.firstobject.com/xml.htm

  这是一个使用EDOM的XML解析器。很多想法非常灵活实用。值得在DOM和SAX之外寻求一点灵感。

  编程基础

  http://libxmlplusplus.sourceforge.net/

  Libxml是著名的libxml XML解析器的C包版本。

  科学计算

  闪电战

  网站:http://www.oonumerics.org/blitz/,http://www.oonumerics.org/blitz/

  Blitz是一个高效的数值计算函数库,它的设计目的是构建一个和C一样方便,比Fortran更快的数值计算环境。一般用C写的数值程序比Fortran慢20%左右,所以Blitz在努力改掉这个缺点。该方法使用了C的模板技术,程序执行甚至可以比Fortran更快。Blitz目前还在发展中,但没有为SVD、FFT、QMRES等常见的线性代数方法提供。但是,用户可以很容易地使用Blitz提供的函数来构造它们。

  卜马

  参考网站:http://http://www.codesourcery.com/pooma/pooma

  POOMA是一个免费的高性能C库,用于处理并行科学计算。POOMA面向对象的设计有利于快速程序开发,优化并行机以实现最高效率,便于在工业和研究环境中使用。

  MTL

  网站:http://www.osl.iu.edu/research/mtl/,http://www.osl.iu.edu/research/mtl/

  矩阵模板库(MTL)是一个高性能的通用组件库,提供了大量各种格式矩阵的线性代数函数。当一些应用使用高性能编译器时,如Intel编译器,从生成的汇编代码中可以看出,其性能与手写几乎相同。

  计算几何算法库

  参考网站:www.cgal.org

  计算几何算法库的目的是以C库的形式向工业界和学术界的用户提供计算几何中最重要的解决方案和方法。

  游戏开发

  音频/视频3D C编程库

  网站:http://www.galacticasoftware.com/products/av/,http://www.galacticasoftware.com/products/av/

  AV3D是一个跨平台、高性能的C库。它的主要特点是3D图形,声音支持(SB,S3M),控制界面(键盘,鼠标和遥感)和XMS。

  克莱格

  参考网站:http://home.g365.net/enginedev/

  国内游戏开发者自己用C. KlayGE开发的游戏引擎,是一个开源的、跨平台的游戏引擎,使用Python作为脚本语言。克莱格是根据LGPL协议发行的。我要感谢龚先生对中国游戏发展的贡献。

  怪物

  参考网址:3358 www . ogre 3d . org http://www.ogre3d.org

  OGRE(面向对象的图形渲染引擎)是用C开发的,使用灵活的面向对象的3D引擎。其目的是让开发者能够更方便、更直接地开发基于3D硬件设备的应用或游戏。引擎中的类库抽象了底层系统库(如Direct3D、OpenGL)的所有使用细节,提供了基于现实世界对象的接口等类。

  线

  c线程

  参考网站:http://threads.sourceforge.net/

  这个库的目标是为程序员提供易于使用的类,这些类被继承以提供大量在Linux环境下很难看到的线程功能。

  ZThreads

  参考网站:http://zthread.sourceforge.net/

  一个高级的面向对象的,跨平台的C线程和同步库。

  连载

  s11n

  参考网站:http://s11n.net/

  基于STL的C库用于序列化POD、STL容器和用户定义的类型。

  简单的XML持久性库

  参考网站:http://sxp.sourceforge.net/

  这是一个轻量级的C库,将对象序列化为XML。

  字符串

  c字符串库

  网站:http://www.utilitycode.com/str/,http://www.utilitycode.com/str/

  支持Windows和gcc的字符串和字符库。提供高度优化的代码,并支持多线程环境和Unicode,以及正则表达式支持。

  公共文本转换库

  参考网站:http://cttl.sourceforge.net/

  这是一个用于解析和修改STL字符串的库。CTSubstring类可用于比较、插入、替换和解析EBNF语法。

  格里塔

  参考网站:http://research.microsoft.com/projects/greta/

  这是一个由微软研究院的研究人员开发的用于处理正则表达式的库。在小搭配的情况下表现出色。

  图片:

  CxImage库,经典的图像库,用起来也很方便。使我们成为对象处理的基石。

  介绍http://www.codeproject.com/bitmap/cximage.asp

  全面的

  p:类

  参考网站:http://pclasses.com/

  一个高度可移植的C应用程序框架。目前,侧重于类型和线程安全的信号/插槽机制,i/o系统包括基于插件的具有透明网络协议的i/o架构,基于插件的应用程序消息日志框架,用于访问sql数据库的类等等。

  ACDK - Artefaktur组件开发套件

  参考网站:http://acdk.sourceforge.net/

  这是一个与平台无关的C组件框架,类似于Java或。NET(反射机制、线程、Unicode、垃圾回收、I/O、网络、实用程序、XML等。),以及Java、Perl、Python、TCL、Lisp、COM、CORBA的集成。

  dlib C库

  参考网站:http://http://www.cis.ohio-state.edu/~kingd/dlib/

  各种类的综合。大整数、套接字、线程、GUI、容器类、浏览目录的API等。

  Chilkat C库

  参考网站:http://http://www.chilkatsoft.com/cpp_libraries.asp

  这是一个提供zip、电子邮件、编码、S/MIME、XML等的库。

  c #可移植类型库(PTypes)

  网站:http://www.melikyan.com/ptypes/,http://www.melikyan.com/ptypes/

  这是一个相对简单的STL的替代品,以及可移植的多线程和网络库。

  负载频率控制(Load Frequency Control)

  参考网站:http://lfc.sourceforge.net/

  哦,这是另一个试图提供一切的C库。

  其他图书馆

  洛基

  参考网站:http://www.moderncppdesign.com/ http://www.moderncppdesign.com/ http://www.moderncppdesign.com/ http://www.moderncppdesign.com/

  哦,你可能会抱怨我应该用Boost这个实验库来介绍它。作者在loki中将C模板的功能发挥到了极致。并尝试通过图书馆提供设计模式这类思想性的东西。同时还提供了智能指针等实用功能。

  (同autolysin)自溶[菌]素

  ATL(Active Template Library)是一组小型、高效且灵活的类,为创建可互操作的COM组件提供了基本的工具。

  FC:函数式C库

  这个库提供了一些只有函数式语言才有的元素。属于利用库扩展语言的代表作。如果你想在OOP之外寻找另一个乐趣点,可以看看函数式编程的世界。大师Peter Norvig在《十年自学编程》一文中,将函数式语言列为至少六种应该学习的编程语言类型之一。

  事实!

  网址:3358 www . kfa http://www.kfa-juelich.de/zam/FACT/start/index.html

  实现函数式语言特性的另一个库。

  秘密党员

  提供了一个免费的库,用于密码处理、消息认证、单向哈希、公钥加密系统等功能。

  还有很多精彩的或者极其实用的C库,由于我们的水平和文章的篇幅,无法收录。在对这些近期库的介绍中,由于不是每一个都被我们使用过,难免会有一些偏差。请原谅我。

  资源网站

  就像我们可以通过计算机历史上的重要人物来了解计算机历史的发展一样,C相关人物的网站也可以给我们最有价值的参考。我们认为没有必要介绍下面这些人物,因为他们在C领域的地位是众所周知的。我们只列出相关资源供读者学习。他们有的在贝尔实验室工作,有的在知名编译器厂商工作,有的在不断推动语言标准化,有的写了很多名著给读者…

  http://www.research.att.com/ http://www.research.att.com/~bs/比雅尼斯特劳斯特鲁普

  斯坦利李普曼

  3358bogs.msdn.com/slipman/(中文版http://www . zengy home . net http://www.zengyihome.net/slippman/index.htm 3358 www . zengy home . net http://www.zengyihome.net/slippman/index.htm)

  斯科特迈耶斯http://www.aristeia.com/http://www.aristeia.com/

  http://www.cs.rpi.edu/~musser/

  http://www.bruceeckel.com布鲁斯埃凯尔http://

  尼古拉若苏蒂斯http://www.josuttis.com/http://www.josuttis.com/

  赫布萨特http://www.gotw.ca/http://www.gotw.ca/

  http://www.moderncppdesign.com/ http://www.moderncppdesign.com/安德烈亚历山德雷斯库http://

  参考http://topic.csdn.net/t/20041004/18/3426620.html

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: