不同语言编写的系统要实现对接需要用什么接口对接步骤与协议

基于USB技术的心电信号采集系统的研究--《武汉理工大学》2007年硕士论文
基于USB技术的心电信号采集系统的研究
【摘要】:
随着社会的进步和科技的发展,人们的健康观念、健康方式和途径都发生着深刻的变化。我国是心脑血管疾病的高发区,然而多数医院的心电监护设备数量少、不宜移动且成本高,无法满足市场的需求。为了满足对心电监护设备的需求,降低医疗成本,需要一种能与PC机进行通信和数据传输、利用PC机强大运算能力的心电检测系统。本系统采用USB技术,利用USB接口具有传输速度快、可以采用总线供电、易于扩展、使用灵活、支持即插即用和热插拔功能等特点,有效地解决了系统与PC机的通信和数据传输问题。
本文详细介绍了基于USB技术的心电信号采集系统的设计与实现,包括心电信号模拟采集电路的设计、微控制器和USB接口芯片的选择、应用以及电路的连接,设备固件、数据采集存储程序、设备驱动程序和应用程序的具体设计等。
该数据采集系统的设计严格遵循USB1.1协议,采用Motorola公司的增强型16位单片机MC9S12D64作为系统的核心控制器来采集心电信号,采用Philips公司的带并行总线的PDIUSBD12芯片作为USB接口器件,并且实现了用USB接口为系统供电。本系统中单片机系统主要完成心电信号采集、数据通信;PDIUSBD12实现同PC机的USB接口通信;PC机完成数据接收、保存、显示等功能。软件设计中采用C语言编写数据采集程序和USB接口芯片协议处理及数据交换程序。上位机的应用程序采用C++Builder编写。
该数据采集系统体现了目前医学仪器小型化的发展趋势,使用方便、造价低廉,特别适用于家庭使用。同时,它也为数据采集提供了一种新颖的、方便的和可靠的解决方案。
【关键词】:
【学位授予单位】:武汉理工大学【学位级别】:硕士【学位授予年份】:2007【分类号】:TP274.2【目录】:
ABSTRACT5-8
第1章 绪论8-14
1.1 课题的来源及研究的目的和意义8
1.2 心电检测技术的历史和现状8-9
1.3 数据采集系统及USB技术的概述9-13
1.3.1 数据采集系统的概况9-11
1.3.2 USB技术概况11-13
1.3.2.1 USB技术的发展11
1.3.2.2 USB的突出特点11-12
1.3.2.3 USB技术三要素12-13
1.4 课题研究的主要内容13-14
第2章 系统整体设计方案14-20
2.1 心电基本原理14-17
2.1.1 心电图的产生及特征14-15
2.1.2 常用心电图导联15-16
2.1.3 心电信号的特征16
2.1.4 心电信号的噪声干扰16-17
2.2 系统设计原则17
2.3 USB总线17-18
2.4 系统整体结构18-19
2.5 本章小结19-20
第3章 系统的硬件设计与实现20-40
3.1 心电信号采集系统的硬件方案概述20
3.2 模拟电路部分20-28
3.2.1 心电输入电极21
3.2.2 保护限流电路21-22
3.2.3 前置放大电路22-24
3.2.4 高通滤波电路24-25
3.2.5 50Hz陷波器25-26
3.2.6 主放大及低通滤波电路26-27
3.2.7 光电隔离电路27-28
3.3 数字电路部分28-38
3.3.1 核心芯片选型及简介28-34
3.3.1.1 芯片选型28-29
3.3.1.2 MC9S12D64简介29-31
3.3.1.3 PDIUSBD12简介31-34
3.3.2 MC9S12D64与PDIUSBD12的通信34-38
3.3.2.1 内核CPU模块硬件电路设计34-37
3.3.2.2 USB接口芯片外围电路设计37-38
3.4 系统的供电38-39
3.5 本章小结39-40
第4章 系统的软件设计与实现40-58
4.1 单片机主程序设计40-50
4.1.1 软件开发工具简介40-41
4.1.2 USB接口固件设计41-49
4.1.2.1 Firmware的层次结构和功能41-44
4.1.2.2 主循环部分44-45
4.1.2.3 单片机中断程序设计45-49
4.1.3 数据采集存储的程序设计49-50
4.2 USB通讯50-51
4.2.1 USB设备枚举过程50-51
4.3 设备驱动程序51-52
4.3.1 Windows驱动程序描述51-52
4.3.2 USB设备驱动程序设计52
4.4 上位机应用程序52-57
4.4.1 数据保存54-55
4.4.2 数据显示55-57
4.5 本章小结57-58
第5章 全文工作总结与展望58-60
5.1 全文工作总结58
5.2 展望58-60
参考文献60-63
作者在攻读硕士学位期间发表的学术论文63-64
附录1 基于USB技术的心电信号采集系统硬件电路图65
欢迎:、、)
支持CAJ、PDF文件格式
【引证文献】
中国期刊全文数据库
王宗刚;潘峥嵘;祝燎;;[J];工业仪表与自动化装置;2011年03期
【参考文献】
中国期刊全文数据库
张东青,王元昔;[J];传感器技术;2001年05期
王朔,李刚;[J];单片机与嵌入式系统应用;2002年04期
,魏巍;[J];电子技术;2003年01期
,何永红;[J];电子技术应用;2003年07期
史波,田凯;[J];信息技术;2001年04期
王洪,顾本斗;[J];计算机工程与设计;2002年03期
,陈露晨,顾雪琳;[J];微型机与应用;2002年01期
白净,张永红;[J];医疗保健器具;1998年03期
李志平,张福利,马学博;[J];中华医史杂志;1999年04期
姜永权,魏月,刘克岩;[J];中国医疗器械杂志;2001年06期
中国硕士学位论文全文数据库
邱淑仙;[D];电子科技大学;2001年
杜戈;[D];北京工业大学;2001年
何社林;[D];哈尔滨工程大学;2006年
【共引文献】
中国期刊全文数据库
赵明鑫;;[J];鞍山师范学院学报;2009年04期
涂望明;魏友国;段道聚;梁季程;张学志;谢存;;[J];兵工自动化;2007年05期
付佳;方勇;刘嘉勇;肖远军;;[J];成都信息工程学院学报;2005年06期
苑文举,孙建红,李克明;[J];长春大学学报;2003年02期
刘智,薛旭成,郝志航;[J];长春理工大学学报;2004年01期
卢超;;[J];传感器与微系统;2007年11期
皮喜田;赵素文;师小荃;周承文;刘洪英;郑小林;;[J];传感器与微系统;2009年12期
李玮娜;张洋;宗鹏飞;万瑶;王明艳;王丹凤;;[J];传感器世界;2011年07期
黄钊礼;魏亚东;;[J];东莞理工学院学报;2009年01期
龙飞;黄钊礼;魏亚东;;[J];东莞理工学院学报;2009年03期
中国重要会议论文全文数据库
王清;王红;;[A];2007年全国高等学校电子技术研究会论文集[C];2007年
刘艳;张宪;耿振亚;崔淑琴;姜德谭;;[A];中国传感器产业发展论坛暨东北MEMS研发联合体研讨会论文集[C];2004年
包立珠;夏瑞华;于超;;[A];第十一届全国电工数学学术年会论文集[C];2007年
罗钧;桂杰出;;[A];中国仪器仪表学会第六届青年学术会议论文集[C];2004年
中国博士学位论文全文数据库
丁明石;[D];天津大学;2005年
董新伟;[D];浙江大学;2006年
李凌;[D];浙江大学;2007年
张珣;[D];浙江大学;2008年
王金甲;[D];燕山大学;2009年
徐学军;[D];中南大学;2010年
中国硕士学位论文全文数据库
马丽娜;[D];大连理工大学;2010年
朱政合;[D];大连理工大学;2010年
于立江;[D];中国地质大学(北京);2010年
毛红涛;[D];哈尔滨理工大学;2010年
张伟超;[D];哈尔滨理工大学;2010年
许洪龙;[D];山东大学;2010年
方志辉;[D];太原理工大学;2011年
孙东;[D];太原理工大学;2011年
王世磊;[D];河北科技大学;2011年
付进华;[D];广东工业大学;2011年
【同被引文献】
中国期刊全文数据库
黄熠园;胡方明;任爱锋;姚为骏;;[J];电子设计工程;2010年02期
孙良;向平;;[J];科学技术与工程;2007年05期
王平;苏涛;方浩俊;;[J];现代电子技术;2007年01期
【二级引证文献】
中国期刊全文数据库
闵珊;张歆东;;[J];吉林大学学报(信息科学版);2011年06期
陈涛;;[J];电子设计工程;2012年02期
胥飞;;[J];上海电机学院学报;2012年02期
【二级参考文献】
中国期刊全文数据库
黎向宇,钱明,巩欣州,万明习;[J];北京生物医学工程;1996年02期
徐有青,余胜生,周敬利;[J];电子计算机与外部设备;1998年05期
赵慧民,庄宏成;[J];电子技术;2000年02期
刘丁,毛德柱,王云飞;[J];电子技术应用;2000年04期
刘炎,冯穗力,叶梧;[J];电子技术应用;2000年12期
潘松;[J];电子与自动化;2000年01期
侯同强,刘和平;[J];电子与自动化;2000年02期
魏亚东,邢达,何永红;[J];光电子·激光;2002年10期
柳兆荣,李惜惜;[J];中国科学(B辑 化学 生物学 农学 医学 地学);1983年02期
徐有青,余胜生,周敬利;[J];计算机工程与应用;2000年01期
【相似文献】
中国期刊全文数据库
周铭,曾华荣,邱小红;[J];计算机与数字工程;2005年06期
李宗君;高延滨;;[J];测控技术;2008年07期
田建君;;[J];电子元器件应用;2003年12期
陈光建;何华平;贾金玲;;[J];仪表技术与传感器;2011年04期
陈昊;孙晋;赵耀;;[J];电脑知识与技术;2009年14期
葛亮;张禾;;[J];仪器仪表用户;2008年02期
张丽敏;陈孝桢;李洪冬;;[J];微计算机应用;2007年06期
武利珍;张文超;;[J];杭州电子科技大学学报;2010年03期
陈德新;;[J];郑州大学学报(自然科学版);1997年02期
王淑仙;[J];电子技术;1998年07期
中国重要会议论文全文数据库
于贺辉;秦杰;庞小峰;;[A];2007'中国仪器仪表与测控技术交流大会论文集(二)[C];2007年
李英伟;孔令富;;[A];第七届青年学术会议论文集[C];2005年
罗宏;张晓钟;宿红毅;战守义;;[A];第八届全国信息获取与处理学术会议论文集[C];2010年
廖彦斗;;[A];1992年中国地球物理学会第八届学术年会论文集[C];1992年
汪旭东;李世平;李建红;;[A];2003中国控制与决策学术年会论文集[C];2003年
谢明春;王小静;高嵘;于茂华;;[A];第八届中国轧机油膜轴承技术研讨会论文集[C];2006年
臧益民;董秀珍;;[A];第五届心脏学会、第八届心功能学会及《心脏杂志》编委会联合学术大会心血管学基础和临床专题报告、继续医学教育与研究生专题讲座专题报告资料[C];2000年
冯莉;曹宁翔;梁川;;[A];中国仪器仪表学会第十一届青年学术会议论文集[C];2009年
石馨月;赵延军;龚瑞昆;;[A];第六届全国信息获取与处理学术会议论文集(2)[C];2008年
陈俊良;廖彦平;张万华;段宝娣;王彦;;[A];1991年中国地球物理学会第七届学术年会论文集[C];1991年
中国重要报纸全文数据库
广东 王庆旺;[N];电子报;2009年
王志田?通讯员
唐皖君;[N];中国石油报;2007年
曹改英 曹红茜;[N];黄河报;2008年
胡丽莉?通讯员
赵增慧;[N];中国石油报;2008年
杨晓丹;[N];中国石化报;2006年
焦克强;[N];中国冶金报;2007年
孙宇瑞;[N];电子报;2001年
孙宇瑞;[N];电子报;2001年
赵保庆 张长杰;[N];中国矿业报;2004年
陈斌;[N];中国税务报;2007年
中国博士学位论文全文数据库
姚成;[D];吉林大学;2012年
郭维;[D];吉林大学;2012年
朱洪俊;[D];重庆大学;2002年
陈迪虎;[D];中国科学技术大学;2009年
王春光;[D];国防科学技术大学;2010年
张道明;[D];中国矿业大学;2008年
吴群;[D];浙江大学;2008年
王学影;[D];天津大学;2008年
孙荣荣;[D];复旦大学;2009年
罗小刚;[D];重庆大学;2003年
中国硕士学位论文全文数据库
方勇;[D];武汉理工大学;2007年
戴斌;[D];武汉理工大学;2011年
刘艳;[D];哈尔滨理工大学;2005年
丁建平;[D];重庆大学;2005年
高彩红;[D];江苏大学;2010年
刘斌;[D];中国协和医科大学;2009年
蒋贵龙;[D];哈尔滨理工大学;2007年
孟亮;[D];山东大学;2008年
侯立刚;[D];哈尔滨工程大学;2008年
方浩;[D];中南民族大学;2010年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 知识超市公司
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备75号larryjiang
查看26条@我的微博
查看1条系统消息
查看44条@我的微博
创建定时短信
微爱益起来
K吧排序 浏览K吧
搜文章/K吧/同事/活动...
扫一扫,手机上K吧
支持微信阅读原文可访问的K吧地址
http:///openkm/pages/ikm?q=group/906
此地址仅支持通过微信公众账号的阅读原文打开 如何使用?请点击这里
后台开发技术交流
已加入 退出 加入K吧
返回文章首页
值得推荐的C/C++框架和库
【本文系外部转贴,原文地址:http:///c/c++//c-open-project.htm】
下次造轮子前先看看现有的轮子吧
值得学习的C语言开源项目
- 1. Webbench
Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。
下载链接:http://home.tiscali.cz/~cz210552/webbench.html
- 2. Tinyhttpd
tinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Http Server 的本质。
下载链接:http://sourceforge.net/projects/tinyhttpd/
- 3. cJSON
cJSON是C语言中的一个JSON编解码器,非常轻量级,C文件只有500多行,速度也非常理想。
cJSON也存在几个弱点,虽然功能不是非常强大,但cJSON的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的C语言项目进行学习。
项目主页:http://sourceforge.net/projects/cjson/
- 4. CMockery
cmockery是google发布的用于C单元测试的一个轻量级的框架。它很小巧,对其他开源包没有依赖,对被测试代码侵入性小。cmockery的源代码行数不到3K,你阅读一下will_return和mock的源代码就一目了然了。
主要特点:
免费且开源,google提供技术支持;
轻量级的框架,使测试更加快速简单;
避免使用复杂的编译器特性,对老版本的编译器来讲,兼容性好;
并不强制要求待测代码必须依赖C99标准,这一特性对许多嵌入式系统的开发很有用
下载链接:http:///p/cmockery/downloads/list
- 5. Libev
libev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一套框架下处理。基于Reactor模式,效率较高,并且代码精简(4.15版本8000多行),是学习事件驱动编程的很好的资源。
下载链接:http://software.schmorp.de/pkg/libev.html
- 6. Memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态数据库驱动网站的速度。Memcached 基于一个存储键/值对的 hashmap。Memcached-1.4.7的代码量还是可以接受的,只有10K行左右。
下载地址:http://memcached.org/
Lua很棒,Lua是巴西人发明的,这些都令我不爽,但是还不至于脸红,最多眼红。
让我脸红的是Lua的源代码,百分之一百的ANSI C,一点都不掺杂。在任何支持ANSI C编译器的平台上都可以轻松编译通过。我试过,真是一点废话都没有。Lua的代码数量足够小,5.1.4仅仅1.5W行,去掉空白行和注释估计能到1W行。
下载地址:http://www.lua.org/
- 8. SQLite
SQLite是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。足够小,大致3万行C代码,250K。
下载地址:http://www.sqlite.org/ 。
- 9. UNIX v6
UNIX V6 的内核源代码包括设备驱动程序在内 约有1 万行,这个数量的源代码,初学者是能够充分理解的。有一种说法是一个人所能理解的代码量上限为1 万行,UNIX V6的内核源代码从数量上看正好在这个范围之内。看到这里,大家是不是也有&如果只有1万行的话没准儿我也能学会&的想法呢?
另一方面,最近的操作系统,例如Linux 最新版的内核源代码据说超过了1000 万行。就算不是初学者,想完全理解全部代码基本上也是不可能的。
下载地址:http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6
- 10. NETBSD
NetBSD是一个免费的,具有高度移植性的 UNIX-like 操作系统,是现行可移植平台最多的操作系统,可以在许多平台上执行,从 64bit alpha 服务器到手持设备和嵌入式设备。NetBSD计划的口号是:&Of course it runs NetBSD&。它设计简洁,代码规范,拥有众多先进特性,使得它在业界和学术界广受好评。由于简洁的设计和先进的特征,使得它在生产和研究方面,都有卓越的表现,而且它也有受使用者支持的完整的源代码。许多程序都可以很容易地通过NetBSD Packages Collection获得。
下载地址:http://www.netbsd.org/
C++ 资源大全
关于 C++ 框架、库和资源的一些汇总列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。
C++标准库,包括了STL容器,算法和函数等。
C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。
Standard Template Library:标准模板库
C POSIX library : POSIX系统的C标准库规范
ISO C++ Standards Committee :C++标准委员会
C++通用框架和库
Apache C++ Standard Library:是一系列算法,容器,迭代器和其他基本组件的集合
ASL :Adobe源代码库提供了同行的评审和可移植的C++源代码库。
Boost :大量通用C++库的集合。
BDE :来自于彭博资讯实验室的开发环境。
Cinder:提供专业品质创造性编码的开源开发社区。
Cxxomfort:轻量级的,只包含头文件的库,将C++ 11的一些新特性移植到C++03中。
Dlib:使用契约式编程和现代C++科技设计的通用的跨平台的C++库。
EASTL :EA-STL公共部分
ffead-cpp :企业应用程序开发框架
Folly:由Facebook开发和使用的开源C++库
JUCE :包罗万象的C++类库,用于开发跨平台软件
libPhenom:用于构建高性能和高度可扩展性系统的事件框架。
LibSourcey :用于实时的视频流和高性能网络应用程序的C++11 evented IO
LibU : C语言写的多平台工具库
Loki :C++库的设计,包括常见的设计模式和习语的实现。
MiLi :只含头文件的小型C++库
openFrameworks :开发C++工具包,用于创意性编码。
Qt :跨平台的应用程序和用户界面框架
Reason :跨平台的框架,使开发者能够更容易地使用Java,.Net和Python,同时也满足了他们对C++性能和优势的需求。
ROOT :具备所有功能的一系列面向对象的框架,能够非常高效地处理和分析大量的数据,为欧洲原子能研究机构所用。
STLport:是STL具有代表性的版本
STXXL:用于额外的大型数据集的标准模板库。
Ultimate++ :C++跨平台快速应用程序开发框架
Windows Template Library:用于开发Windows应用程序和UI组件的C++库
Yomm11 :C++11的开放multi-methods.
btsk :游戏行为树启动器工具
Evolving Objects:基于模板的,ANSI C++演化计算库,能够帮助你非常快速地编写出自己的随机优化算法。
Neu:C++11框架,编程语言集,用于创建人工智能应用程序的多用途软件系统。
异步事件循环
Boost.Asio:用于网络和底层I/O编程的跨平台的C++库。
libev :功能齐全,高性能的时间循环,轻微地仿效libevent,但是不再像libevent一样有局限性,也修复了它的一些bug。
libevent :事件通知库
libuv :跨平台异步I/O。
音频,声音,音乐,数字化音乐库
FMOD :易于使用的跨平台的音频引擎和音频内容的游戏创作工具。
Maximilian :C++音频和音乐数字信号处理库
OpenAL :开源音频库&跨平台的音频API
Opus:一个完全开放的,免版税的,高度通用的音频编解码器
Speex:免费编解码器,为Opus所废弃
Tonic: C++易用和高效的音频合成
Vorbis: Ogg Vorbis是一种完全开放的,非专有的,免版税的通用压缩音频格式。
生物信息,基因组学和生物技术
libsequence:用于表示和分析群体遗传学数据的C++库。
SeqAn:专注于生物数据序列分析的算法和数据结构。
Vcflib :用于解析和处理VCF文件的C++库
Wham:直接把联想测试应用到BAM文件的基因结构变异。
压缩和归档库
bzip2:一个完全免费,免费专利和高质量的数据压缩
doboz:能够快速解压缩的压缩库
PhysicsFS:对各种归档提供抽象访问的库,主要用于视频游戏,设计灵感部分来自于Quake3的文件子系统。
KArchive:用于创建,读写和操作文件档案(例如zip和 tar)的库,它通过QIODevice的一系列子类,使用gzip格式,提供了透明的压缩和解压缩的数据。
LZ4 :非常快速的压缩算法
LZHAM :无损压缩数据库,压缩比率跟LZMA接近,但是解压缩速度却要快得多。
LZMA :7z格式默认和通用的压缩方法。
LZMAT :及其快速的实时无损数据压缩库
miniz:单一的C源文件,紧缩/膨胀压缩库,使用zlib兼容API,ZIP归档读写,PNG写方式。
Minizip:Zlib最新bug修复,支持PKWARE磁盘跨越,AES加密和IO缓冲。
Snappy :快速压缩和解压缩
ZLib :非常紧凑的数据流压缩库
ZZIPlib:提供ZIP归档的读权限。
并发执行和多线程
pute :用于OpenCL的C++GPU计算库
Bolt :针对GPU进行优化的C++模板库
C++React :用于C++11的反应性编程库
Intel TBB :Intel线程构件块
Libclsph:基于OpenCL的GPU加速SPH流体仿真库
OpenCL :并行编程的异构系统的开放标准
OpenMP:OpenMP API
Thrust :类似于C++标准模板库的并行算法库
HPX :用于任何规模的并行和分布式应用程序的通用C++运行时系统
VexCL :用于OpenCL/CUDA 的C++向量表达式模板库。
C++ B-tree :基于B树数据结构,实现命令内存容器的模板库
Hashmaps: C++中开放寻址哈希表算法的实现
Bcrypt :一个跨平台的文件加密工具,加密文件可以移植到所有可支持的操作系统和处理器中。
BeeCrypt:
Botan: C++加密库
Crypto++:一个有关加密方案的免费的C++库
GnuPG: OpenPGP标准的完整实现
GnuTLS :实现了SSL,TLS和DTLS协议的安全通信库
LibreSSL:免费的SSL/TLS协议,属于2014 OpenSSL的一个分支
LibTomCrypt:一个非常全面的,模块化的,可移植的加密工具
libsodium:基于NaCI的加密库,固执己见,容易使用
Nettle 底层的加密库
OpenSSL : 一个强大的,商用的,功能齐全的,开放源代码的加密库。
Tiny AES128 in C :用C实现的一个小巧,可移植的实现了AES128ESB的加密算法
数据库,SQL服务器,ODBC驱动程序和工具
hiberlite :用于Sqlite3的C++对象关系映射
Hiredis: 用于Redis数据库的很简单的C客户端库
LevelDB: 快速键值存储库
LMDB:符合数据库四大基本元素的嵌入键值存储
MySQL++:封装了MySql的C API的C++ 包装器
RocksDB:来自Facebook的嵌入键值的快速存储
SQLite:一个完全嵌入式的,功能齐全的关系数据库,只有几百KB,可以正确包含到你的项目中。
调试库, 内存和资源泄露检测,单元测试
Boost.Test:Boost测试库
Catch:一个很时尚的,C++原生的框架,只包含头文件,用于单元测试,测试驱动开发和行为驱动开发。
CppUnit:由JUnit移植过来的C++测试框架
CTest:CMake测试驱动程序
googletest:谷歌C++测试框架
ig-debugheap:用于跟踪内存错误的多平台调试堆
libtap:用C语言编写测试
MemTrack &用于C++跟踪内存分配
microprofile- 跨平台的网络试图分析器
minUnit :使用C写的迷你单元测试框架,只使用了两个宏
Remotery:用于web视图的单一C文件分析器
UnitTest++:轻量级的C++单元测试框架
Cocos2d-x :一个跨平台框架,用于构建2D游戏,互动图书,演示和其他图形应用程序。
Grit :社区项目,用于构建一个免费的游戏引擎,实现开放的世界3D游戏。
Irrlicht :C++语言编写的开源高性能的实时#D引擎
Polycode:C++实现的用于创建游戏的开源框架(与Lua绑定)。
图形用户界面
CEGUI : 很灵活的跨平台GUI库
FLTK :快速,轻量级的跨平台的C++GUI工具包。
GTK+: 用于创建图形用户界面的跨平台工具包
gtkmm :用于受欢迎的GUI库GTK+的官方C++接口。
imgui:拥有最小依赖关系的立即模式图形用户界面
libRocket :libRocket 是一个C++ HTML/CSS 游戏接口中间件
MyGUI :快速,灵活,简单的GUI
Ncurses:终端用户界面
QCustomPlot :没有更多依赖关系的Qt绘图控件
Qwt :用户与技术应用的Qt 控件
QwtPlot3D :功能丰富的基于Qt/OpenGL的C++编程库,本质上提供了一群3D控件
OtterUI :OtterUI 是用于嵌入式系统和互动娱乐软件的用户界面开发解决方案
PDCurses 包含源代码和预编译库的公共图形函数库
wxWidgets C++库,允许开发人员使用一个代码库可以为widows, Mac OS X,Linux和其他平台创建应用程序
bgfx:跨平台的渲染库
Cairo:支持多种输出设备的2D图形库
Horde3D 一个小型的3D渲染和动画引擎
magnum C++11和OpenGL 2D/3D 图形引擎
Ogre 3D 用C++编写的一个面向场景,实时,灵活的3D渲染引擎(并非游戏引擎)
OpenSceneGraph 具有高性能的开源3D图形工具包
Panda3D 用于3D渲染和游戏开发的框架,用Python和C++编写。
Skia 用于绘制文字,图形和图像的完整的2D图形库
urho3d 跨平台的渲染和游戏引擎。
Boost.GIL:通用图像库
CImg :用于图像处理的小型开源C++工具包
CxImage :用于加载,保存,显示和转换的图像处理和转换库,可以处理的图片格式包括 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K。
FreeImage :开源库,支持现在多媒体应用所需的通用图片格式和其他格式。
GDCM:Grassroots DICOM 库
ITK:跨平台的开源图像分析系统
Magick++:ImageMagick程序的C++接口
MagickWnd:ImageMagick程序的C++接口
OpenCV : 开源计算机视觉类库
tesseract-ocr:OCR引擎
VIGRA :用于图像分析通用C++计算机视觉库
VTK :用于3D计算机图形学,图像处理和可视化的开源免费软件系统。
gettext :GNU `gettext&
IBM ICU:提供Unicode 和全球化支持的C、C++ 和Java库
libiconv :用于不同字符编码之间的编码转换库
frozen : C/C++的Jason解析生成器
Jansson :进行编解码和处理Jason数据的C语言库
jbson :C++14中构建和迭代BSON data,和Json 文档的库
JeayeSON:非常健全的C++ JSON库,只包含头文件
JSON++ : C++ JSON 解析器
json-parser:用可移植的ANSI C编写的JSON解析器,占用内存非常少
json11 :一个迷你的C++11 JSON库
jute :非常简单的C++ JSON解析器
ibjson:C语言中的JSON解析和打印库,很容易和任何模型集成。
libjson:轻量级的JSON库
PicoJSON:C++中JSON解析序列化,只包含头文件
qt-json :用于JSON数据和 QVariant层次间的相互解析的简单类
QJson:将JSON数据映射到QVariant对象的基于Qt的库
RapidJSON: 用于C++的快速JSON 解析生成器,包含SAX和DOM两种风格的API
YAJL :C语言中快速流JSON解析库
Boost.Log :设计非常模块化,并且具有扩展性
easyloggingpp:C++日志库,只包含单一的头文件。
Log4cpp :一系列C++类库,灵活添加日志到文件,系统日志,IDSA和其他地方。
templog:轻量级C++库,可以添加日志到你的C++应用程序中
Caffe :快速的神经网络框架
CCV :以C语言为核心的现代计算机视觉库
mlpack :可扩展的C++机器学习库
OpenCV:开源计算机视觉库
Recommender:使用协同过滤进行产品推荐/建议的C语言库。
SHOGUN:Shogun 机器学习工具
sofia-ml :用于机器学习的快速增量算法套件
Armadillo :高质量的C++线性代数库,速度和易用性做到了很好的平衡。语法和MatlAB很相似
blaze:高性能的C++数学库,用于密集和稀疏算法。
ceres-solver :来自谷歌的C++库,用于建模和解决大型复杂非线性最小平方问题。
CGal: 高效,可靠的集合算法集合
cml :用于游戏和图形的免费C++数学库
Eigen :高级C++模板头文件库,包括线性代数,矩阵,向量操作,数值解决和其他相关的算法。
GMTL:数学图形模板库是一组广泛实现基本图形的工具。
GMP:用于个高精度计算的C/C++库,处理有符号整数,有理数和浮点数。
GStreamer :构建媒体处理组件图形的库
LIVE555 Streaming Media :使用开放标准协议(RTP/RTCP, RTSP, SIP) 的多媒体流库
libVLC :libVLC (VLC SDK)媒体框架
QtAv:基于Qt和FFmpeg的多媒体播放框架,能够帮助你轻而易举地编写出一个播放器
SDL :简单直控媒体层
SFML :快速,简单的多媒体库
ACE:C++面向对象网络变成工具包
Boost.Asio:用于网络和底层I/O编程的跨平台的C++库
Casablanca:C++ REST SDK
cpp-netlib:高级网络编程的开源库集合
Dyad.c:C语言的异步网络
libcurl :多协议文件传输库
Mongoose:非常轻量级的网络服务器
Muduo :用于Linux多线程服务器的C++非阻塞网络库
net_skeleton :C/C++的TCP 客户端/服务器库
nope.c :基于C语言的超轻型软件平台,用于可扩展的服务器端和网络应用。 对于C编程人员,可以考虑node.js
Onion :C语言HTTP服务器库,其设计为轻量级,易使用。
POCO:用于构建网络和基于互联网应用程序的C++类库,可以运行在桌面,服务器,移动和嵌入式系统。
RakNet:为游戏开发人员提供的跨平台的开源C++网络引擎。
Tuf o :用于Qt之上的C++构建的异步Web框架。
WebSocket++ :基于C++/Boost Aiso的websocket 客户端/服务器库
ZeroMQ :高速,模块化的异步通信库
动力学仿真引擎
Box2D:2D的游戏物理引擎。
Bullet :3D的游戏物理引擎。
Chipmunk :快速,轻量级的2D游戏物理库
LiquidFun:2D的游戏物理引擎
ODE :开放动力学引擎-开源,高性能库,模拟刚体动力学。
ofxBox2d:Box2D开源框架包装器。
Simbody :高性能C++多体动力学/物理库,模拟关节生物力学和机械系统,像车辆,机器人和人体骨骼。
MOOS-IvP :一组开源C++模块,提供机器人平台的自主权,尤其是自主的海洋车辆。
MRPT:移动机器人编程工具包
PCL :点云库是一个独立的,大规模的开放项目,用于2D/3D图像和点云处理。
Robotics Library (RL): 一个独立的C++库,包括机器人动力学,运动规划和控制。
RobWork:一组C++库的集合,用于机器人系统的仿真和控制。
ROS :机器人操作系统,提供了一些库和工具帮助软件开发人员创建机器人应用程序。
FFTW :用一维或者多维计算DFT的C语言库。
GSL:GNU科学库。
ChaiScript :用于C++的易于使用的嵌入式脚本语言。
Lua :用于配置文件和基本应用程序脚本的小型快速脚本引擎。
luacxx:用于创建Lua绑定的C++ 11 API
SWIG :一个可以让你的C++代码链接到JavaScript,Perl,PHP,Python,Tcl和Ruby的包装器/接口生成器
V7:嵌入式的JavaScript 引擎。
V8 :谷歌的快速JavaScript引擎,可以被嵌入到任何C++应用程序中。
Cap&n Proto :快速数据交换格式和RPC系统。
cereal :C++11 序列化库
FlatBuffers :内存高效的序列化库
MessagePack :C/C++的高效二进制序列化库,例如 JSON
protobuf :协议缓冲,谷歌的数据交换格式。
protobuf-c :C语言的协议缓冲实现
SimpleBinaryEncoding:用于低延迟应用程序的对二进制格式的应用程序信息的编码和解码。
Thrift :高效的跨语言IPC/RPC,用于C++,Java,Python,PHP,C#和其它多种语言中,最初由Twitter开发。
libvpx :VP8/VP9编码解码SDK
FFmpeg :一个完整的,跨平台的解决方案,用于记录,转换视频和音频流。
libde265 :开放的h.265视频编解码器的实现。
OpenH264:开源H.364 编解码器。
Theora :免费开源的视频压缩格式。
CarpVM:C中有趣的VM,让我们一起来看看这个。
MicroPython :旨在实现单片机上Python3.x的实现
TinyVM:用纯粹的ANSI C编写的小型,快速,轻量级的虚拟机。
Web应用框架
Civetweb :提供易于使用,强大的,C/C++嵌入式Web服务器,带有可选的CGI,SSL和Lua支持。
CppCMS :免费高性能的Web开发框架(不是 CMS).
Crow :一个C++微型web框架(灵感来自于Python Flask)
Kore :使用C语言开发的用于web应用程序的超快速和灵活的web服务器/框架。
libOnion:轻量级的库,帮助你使用C编程语言创建web服务器。
QDjango:使用C++编写的,基于Qt库的web框架,试图效仿Django API,因此得此名。
Wt :开发Web应用的C++库。
XML就是个垃圾,xml的解析很烦人,对于计算机它也是个灾难。这种糟糕的东西完全没有存在的理由了。-Linus Torvalds
Expat :用C语言编写的xml解析库
Libxml2 :Gnome的xml C解析器和工具包
libxml++ :C++的xml解析器
PugiXML :用于C++的,支持XPath的轻量级,简单快速的XML解析器。
RapidXml :试图创建最快速的XML解析器,同时保持易用性,可移植性和合理的W3C兼容性。
TinyXML :简单小型的C++XML解析器,可以很容易地集成到其它项目中。
TinyXML2:简单快速的C++CML解析器,可以很容易集成到其它项目中。
TinyXML++:TinyXML的一个全新的接口,使用了C++的许多许多优势,模板,异常和更好的异常处理。
Xerces-C++ :用可移植的C++的子集编写的XML验证解析器。
一些有用的库或者工具,但是不适合上面的分类,或者还没有分类。
C++ Format :C++的小型,安全和快速格式化库
casacore :从aips++ 派生的一系列C++核心库
cxx-prettyprint:用于C++容器的打印库
DynaPDF :易于使用的PDF生成库
gcc-poison :帮助开发人员禁止应用程序中的不安全的C/C++函数的简单的头文件。
googlemock:编写和使用C++模拟类的库
HTTP Parser :C的http请求/响应解析器
libcpuid :用于x86 CPU检测盒特征提取的小型C库
libevil :许可证管理器
libusb:允许移动访问USB设备的通用USB库
PCRE:正则表达式C库,灵感来自于Perl中正则表达式的功能。
Remote Call Framework :C++的进程间通信框架。
Scintilla :开源的代码编辑控件
Serial Communication Library :C++语言编写的跨平台,串口库。
SDS:C的简单动态字符串库
SLDR :超轻的DNS解析器
SLRE: 超轻的正则表达式库
Stage :移动机器人模拟器
VarTypes:C++/Qt4功能丰富,面向对象的管理变量的框架。
ZBar:&条形码扫描器&库,可以扫描照片,图片和视频流中的条形码,并返回结果。
CppVerbalExpressions :易于使用的C++正则表达式
QtVerbalExpressions:基于C++ VerbalExpressions 库的Qt库
PHP-CPP:使用C++来构建PHP扩展的库
Better String :C的另一个字符串库,功能更丰富,但是没有缓冲溢出问题,还包含了一个C++包装器。
用于创建开发环境的软件
C/C++编译器列表
Clang :由苹果公司开发的
GCC:GNU编译器集合
Intel C++ Compiler :由英特尔公司开发
LLVM :模块化和可重用编译器和工具链技术的集合
Microsoft Visual C++ :MSVC,由微软公司开发
Open WatCom :Watcom,C,C++和Fortran交叉编译器和工具
TCC :轻量级的C语言编译器
在线编译器
在线C/C++编译器列表
codepad :在线编译器/解释器,一个简单的协作工具
CodeTwist:一个简单的在线编译器/解释器,你可以粘贴的C,C++或者Java代码,在线执行并查看结果
coliru :在线编译器/shell, 支持各种C++编译器
Compiler Explorer:交互式编译器,可以进行汇编输出
CompileOnline:Linux上在线编译和执行C++程序
Ideone :一个在线编译器和调试工具,允许你在线编译源代码并执行,支持60多种编程语言。
C/C++调试器列表
Comparison of debuggers :来自维基百科的调试器列表
GDB :GNU调试器
Valgrind:内存调试,内存泄露检测,性能分析工具。
集成开发环境(IDE)
C/C++集成开发环境列表
AppCode :构建与JetBrains& IntelliJ IDEA 平台上的用于Objective-C,C,C++,Java和Java开发的集成开发环境
CLion:来自JetBrains的跨平台的C/C++的集成开发环境
Code::Blocks :免费C,C++和Fortran的集成开发环境
CodeLite :另一个跨平台的免费的C/C++集成开发环境
Dev-C++:可移植的C/C++/C++11集成开发环境
Eclipse CDT:基于Eclipse平台的功能齐全的C和C++集成开发环境
Geany :轻量级的快速,跨平台的集成开发环境。
IBM VisualAge :来自IBM的家庭计算机集成开发环境。
Irony-mode:由libclang驱动的用于Emacs的C/C++微模式
KDevelop:免费开源集成开发环境
Microsoft Visual Studio :来自微软的集成开发环境
NetBeans :主要用于Java开发的的集成开发环境,也支持其他语言,尤其是PHP,C/C++和HTML5。
Qt Creator:跨平台的C++,Javascript和QML集成开发环境,也是Qt SDK的一部分。
rtags:C/C++的客户端服务器索引,用于 跟基于clang的emacs的集成
Xcode :由苹果公司开发
YouCompleteMe:一个用于Vim的根据你敲的代码快速模糊搜索并进行代码补全的引擎。
Bear :用于为clang工具生成编译数据库的工具
Biicode:基于文件的简单依赖管理器。
CMake :跨平台的免费开源软件用于管理软件使用独立编译的方法进行构建的过程。
CPM:基于CMake和Git的C++包管理器
FASTBuild:高性能,开源的构建系统,支持高度可扩展性的编译,缓冲和网络分布。
Ninja :专注于速度的小型构建系统
Scons :使用Python scipt 配置的软件构建工具
tundra :高性能的代码构建系统,甚至对于非常大型的软件项目,也能提供最好的增量构建次数。
tup:基于文件的构建系统,用于后台监控变化的文件。
静态代码分析
提高质量,减少瑕疵的代码分析工具列表
Cppcheck :静态C/C++代码分析工具
include-what-you-use :使用clang进行代码分析的工具,可以#include在C和C++文件中。
OCLint :用于C,C++和Objective-C的静态源代码分析工具,用于提高质量,减少瑕疵。
Clang Static Analyzer:查找C,C++和Objective-C程序bug的源代码分析工具
List of tools for static code analysis :来自维基百科的静态代码分析工具列表
感谢平凡之路和fffaraz 的整理,转载请注明出处。
标签:后台(1) C++(1) C(1) 【仅供内部学习交流,未经允许请勿外传】
编写可移植C/C++程序的要点
在C/C++语言中使用正则表达式
关于java性能比c/c++性能慢很多的说法可以休已
C/C++函数调用约定与函数名称修饰规则探讨
【公告】:关于开展C/C++经典图书赏析的通知
& 收藏文章
tnqiangren最近顶过此文
KM文章已全面支持手机参与,包括二维码扫描、分享到微信、分享到手机QQ, 点击了解更多
& 分享到RTX
larryjiang向你推荐文章:《值得推荐的C/C++框架和库》
分享理由:
& 分享到邮件
发送方式:
分享理由:
& 分享到微博
让你的同事也知道: @其他同事
以K吧官方帐号分享此微博
& 分享到微信
扫一扫,用手机看文章
你还可以用手机KM分享给微信好友
下载二维码 获取PC和手机都可访问的链接
http:///openkm/pages/ikm?q=article/226379
此地址可以通过手机或者电脑打开 如何使用?请点击这里
& 重新上传附件
请先选择一个文件
附件允许下载
文件上传成功
同步到微博 表情 更多功能
gavinyao(姚俊刚)
基础服务研发组员工
作者最新文章
值得推荐的C/C++框架和库
Docker VNC Server
Linux性能跟踪之CPU篇
Linux Performance 性能跟踪
Dockerfile分享之SSH Server
更多 猜你喜欢
值得推荐的C/C++框架和库
tlinux下nginx、mysql、php的安装脚本
MYSQL之权限管理
golang使用感想和TCP SERVER & Log SERVER 实现
C++&C混搭中使用non-POD引起的Illegal instruction
点这里可以将文章分享给身边的同事了!
Copyright&1998-2014 Tencent Inc. All Rights Reserved
腾讯公司研发管理部 版权所有
[119/424/124 ms]
阅读(...) 评论()

我要回帖

更多关于 第三方支付接口对接 的文章

 

随机推荐