OPENC++


 C++对象池 C++ ResourcePool 

C++ ResourcePool 是一个C++语言开发的通用的对象池,提供一个独立的类型无关的API。

更多C++对象池 C++ ResourcePool信息

 C++多媒体处理库 libCVD 

libCVD 是一个高可移植和具备高性能的用于处理计算机视觉、图像、视频的C++库。其重点是提供简单高效的高质量的图形和视频处理方法。

示例代码:

#include <cvd/image_io.h>
//Very cheap and cheerful X window with OpenGL capabilities
#include <cvd/videodisplay.h> 
//OpenGL wrappers for various CVD types
#include <cvd/gl_helpers.h> 
using namespace CVD;

int main()
{
  Image<Rgb<byte> > in;                     
  in = img_load("test_image.jpg");          
//Create an OpenGL window with the dimensions of `in'
  VideoDisplay window(in.size()); 
  glDrawPixels(in);

  glColor3f(1,0,0);
  glBegin(GL_LINES);
  glVertex(in.size()/2);
  glVertex(in.size());
  glEnd();
  glFlush();
  
  std::cin.get();
  return 0;
}

更多C++多媒体处理库 libCVD信息

 C++检索引擎 Xapian 

Xapian是一个用C++编写的全文检索程序,他的作用类似于Java的lucene。尽管在Java世界lucene已经是标准的全文检索程序,但是C/C++世界并没有相应的工具,而Xapian则填补了这个缺憾。 

Xapian的api和检索原理和lucene在很多方面都很相似,但是也有一些地方存在不同,具体请看Xapian自己的文档:http://www.xapian.org/docs/ 

Xapian除了提供原生的C++编程接口之外,还提供了Perl,PHP,Python和Ruby编程接口和相应的类库,所以你可以直接从自己喜欢的脚本编程语言当中使用Xapian进行全文检索了。

更多C++检索引擎 Xapian信息

 C++脚本语言 ChaiScript 

ChaiScript 是第一个也是目前唯一一个与C++的兼容性的脚本语言,受 EMCAScript影响的嵌入式的功能性语言。

更多C++脚本语言 ChaiScript信息

 C++金融歇息交换引擎 QuickFIX 

QuickFIX 是一个 C++ 实现的金融信息交换协议FIX的引擎

金融信息交换协议(FIX,Financial Information exchange)协议是适用于实时证券、金融电子交易开发的数据通信标准。它是由国际FIX协会组织提供的一个开放式协议,目的是推动国际贸易电子化的 进程,在各类参与者之间,包括投资经理、经纪人,买方、卖方建立起实时的电子化通讯协议。FIX 协议的目标是把各类证券金融业务需求流程格式化,使之成为一个个可用计算机语言描述的功能流程,并在每个业务功能接口上统一交换格式,方便各个功能模块的 连接。目前,欧、美主要发达国家都是FIX协会的成员。

FIX协议在欧美和亚洲地区的应用主要集中在买卖意向、成交揭示、交易定单、执行报告、结算划拨和市场新闻等信息交换上。

更多C++金融歇息交换引擎 QuickFIX信息

 C++类库 simplus 

simplus 是一个用来构建仿真事件驱动、虚拟进程、消息、时间等等的C++类库。内置调试器,支持配置文件以及一个灵活的日志系统。可以用来为开发通讯、工程以及流量控制、游戏等程序的仿真器

更多C++类库 simplus信息

 C++模板库 Standard Portable Library 

Standard Portable Library 是一个指针友好的 C/C++ 标准模板库的替代产品,它所提供的 API 跟 Java 或者是 .NET 的语言类似,包括公用的数据结构、网络操作接口以及数据库操作接口。

更多C++模板库 Standard Portable Library信息

 C++内存管理库 Generic Memory Manager 

Generic Memory Manager 是一个速度最快的跨平台的C++内存管理库,它是易用而且可扩展的。

更多C++内存管理库 Generic Memory Manager信息

 C++三维图形引擎 G3D Engine 

G3D 引擎是为 C++ 的游戏开发者、研究人员或者学生准备的 3D 图形库,包含一组可靠而且高性能的通用三维示例。

下面是一些采用此引擎开发的三维游戏截图

更多的截图请看此处:http://g3d-cpp.sourceforge.net/screenshots.html

更多C++三维图形引擎 G3D Engine信息

 C++设计模式类库 Loki 

Loki 是一个包含各种设计模式和方法实现的C++类库。

更多C++设计模式类库 Loki信息

 C++实时工具包 Orocos 

Orocos (Open Robot Control Software ) 是一个用来构建实时控制软件的C++框架,适合开发机器人或者机器的控制软件。Orocos 实时工具包提供了一个基础框架,以快速开发可运行在实时操作系统的应用,如RTAI和Xenomai ,当然它也支持 Linux 系统。

更多C++实时工具包 Orocos信息

 C++视觉库 VXL 

VXL (the Vision-something-Libraries)是计算机视觉研究和实现库集。它从TargetJr和IUE演变而来,目的是成为一个轻量级、速度快和持久的系统。它可移植到很多平台。

包含的库
◆ 数字化容器和法则:vnl
◆ 图像管理:vil
◆ 几何图形:vgl
◆ I/O控制:vsl
◆ 基本模板:vbl
◆ 功能库:vul

更多C++视觉库 VXL信息

 C++数据库操作接口 SmartDB 

SmartDB 是一个面向对象的数据库操作接口,集成了 SQLite 数据库。与微软的ADO对象类似,适合用在 C++/MFC 项目中。实际它就是一个 SQLite 的封装,只是你的程序只需要三行代码就可以打开 SQLite 数据库。

下面是一个示例程序:

更多C++数据库操作接口 SmartDB信息

 C++图表组件 wxFreeChart 

wxFreeChart 是一个采用 C++ 开发的制作图表的类库,支持各种图形的图表。

OPENC++_第1张图片  OPENC++_第2张图片  OPENC++_第3张图片  OPENC++_第4张图片

更多C++图表组件 wxFreeChart信息

 C++图形库 GOBLIN Graph Library 

GOBLIN图形库包括一个C + +类库的一个大型系列图优化的方法、GOSH以及TCL /Tk脚本语言的扩展。GOBLIN包括一个图形编辑器,并支持标准图形布局方法。

更多C++图形库 GOBLIN Graph Library信息

 C++网络工具包 POCO C++ Libraries 

POCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程、线程同步、文件系统访问、流操作、共享库和类加载、套接字以及网络协议包括:HTTP、FTP、SMTP 等;其本身还包含一个 HTTP 服务器,提供 XML 的解析和 SQL 数据库的访问接口。

更多C++网络工具包 POCO C++ Libraries信息

 C++业务中间件 MagicWare 

中间件产品包 magicware 由 mwplus 和 magiclayer 以及其它一些工具软件组成(非开源)。mwplus (middleware plus) 是一套C++业务中间件及基础函数库,它提供了C++程序开发中常用的功能接口,可以用于各种应用程序的开发。在 mwplus 提供的底层功能上进行集成和整合,形成实现通用业务目标的业务中间件 magiclayer 。

mwplus 的主要特性如下:

  • 提供简单高效的网络通信机制

用户不会过多关心底层网络连接,集中关心业务实现。框架提供策略接口,便于特殊情况下实现对网络事件的自定义处理。

  • 面向消息及服务的请求处理模式

客户端通过向服务端发送请求消息,服务端框架自动进行消息分派,开发人员只用专注于应用处理代码。

  • 良好的扩展性

接口化的设计让程序框架具有良好的扩展性,框架功能可以根据应用特殊需要进行配置或重新实现,新增功能也容易添加到系统中;支持对python脚本的解释运行,可以便于将经常变化的业务逻辑采用脚本语言来实现,保持核心业务模块的稳定。

  • 支持通用数据类型对象

通过通用数据类型,可以实现对象的序列化,便于各种数据的存储、在网络上的传输。例如,可以不用编写任何代码,即可实现将内存对象保存到XML文件或者数据库,或者从XML文件或数据库恢复内存对象。

  • 强大的管理分析能力

框架内部实现管理功能及统计功能,为建立功能强大的管理客户端提供应用及数据上的支撑。

  • 跨平台能力

整个软件包采用标准C++开发,支持在各种常见操作系统上的的开发和部署。

  • 丰富的基础资源

支持通用的日志输出;

支持多语言;

支持配置文件(ini或xml)的处理;

支持加解密操作;

支持压缩解压处理;

支持共享内存操作;

支持对XML的处理;

支持数据库操作。

 

Magiclayer中间件产品提供业务运行框架,可以基于此框架快速的进行业务模块的开发,加快开发周期,提高开发质量。 中间件产品magiclayer的主要特性如下:

  • 高度可配置的框架

通过配置文件的设计,中间件框架提供公告牌、服务器等多种运行模式,可以通过配置实现多种协议的兼容处理,统一业务服务的开发方式。

  • 业务开发迅速简单

通过实现业务处理函数或类,注册到系统框架后即可工作,同时框架为业务开发提供了多种基础机制,方便业务开发。

  • 提供灵活的系统部署方式

Magiclayer中间件可以基于客户端直接连接服务器方式工作,也可以使用公告牌方式工作,实现分布式部署,以支持大量客户端并发访问服务器。公告牌支持对服务器的负载均衡,为建立高可用的应用系统提供基础。

  • 多种客户端开发支持

客户端程序的开发可以开发包提供的基于C 的api进行,在此基础上进行的封装后可以使用几乎所有常见windows开发工具进行客户端程序开发。同时,软件包中还提供了以java方式进行客户端开发的开发包。

更多C++业务中间件 MagicWare信息

 C++应用服务器 CWSS 

CWSS(C++ Web Service Server)是用于开发、集成、部署和管理大型分布式应用、网络应用和数据库应用的C/C++应用服务器。将C/C++的高效稳定和各种通讯标准(UDP/TCP/HTTP/SOAP等)引入大型网络应用的开发、集成、部署和管理之中。

CWSS拥有处理关键分布式应用系统问题所需的性能、可扩展性和高可用性。

CWSS所需的多种特色和优势,包括:

1)领先的标准

对业内多种通讯标准的全面支持,包括TCP、UDP、HTTP(POST)、WebService(SOAP),使分布式应用系统的实施更为简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便。

2)无限可扩展性

CWSS以其高扩展的架构体系闻名,包括内置SOTP通讯协议、访问用户管理和后台多种群集功能。

3)快速开发

CWSS独特的设计体系模式,可简化开发,加速投放市场速度。并可利用已有技能,迅速部署应用系统。

4)部署更趋灵活

一次开发,支持多平台运行,如Windows和Linux系统。

对客户端系统没有任何限制和要求。

5)体系结构

CWSS是专门为企业分布式网络应用系统开发的。企业分布式网络应用系统需要快速开发,并要求服务器端组件具有良好的灵活性和安全性,同时还要支持关键任务所必需的扩展、性能、和高可用性。CWSS简化了可移植及可扩展的应用系统的开发,并为其它应用 系统和系统提供了丰富的互操作性。CWSS拥有最高水平的可扩展性和可用性。CWSS内置标准通讯语言SOTP,轻松实现访问验证功能、负载平衡和群集功能,而且不需要任何专门的硬件或操作系统支持。

6)开放源代码

完全开放源代码,永久免费使用和更新;

更多C++应用服务器 CWSS信息

 C++语言的SQLite 接口库 sqlitexx 

sqlitexx 是一个 C++ 程序用来访问 SQLite 数据库的接口类库。

更多C++语言的SQLite 接口库 sqlitexx信息

 C++语言的SSH客户端库 NetSieben SSH Library 

NetSieben SSH Library 是一个 C++ 语言的SSH客户端开发包,利用了 Botan 库赖实现加密功能,允许在 SSH 通讯过程中选择不同的加密算法,集成了 SFTP 的功能,并在多线程应用程序中测试通过。

下面地址中提供了一些例子用来演示如何使用该开发包编写 SSH 客户端程序

http://www.netsieben.com/products/ssh/code.phtml

更多C++语言的SSH客户端库 NetSieben SSH Library信息

 C++远程对象访问框架 ROXS 

Remote Object Access (ROXS) 是一个 C++ 的远程对象访问框架,类似于 CORBA 和 Java 的RMI 。它根据C++的头文件来生成代码进行双向通讯(回调方式),可以轻松实现对象的序列号。

更多C++远程对象访问框架 ROXS信息

 C++中的Python字符串处理 pyString 

Pystring是一组C++的函数通过 std::string 来匹配Python的String类的方法。它不需要或使用 Python 解析器,提供了方便和符合 C++ 使用习惯的通用字符串操作方法,而这些方法时不包括在标准C++库的。这在同时使用 C++ 和 Python 在处理字符串的时候是非常有用的。

Pystring is a collection of C++ functions which match the interface and behavior of python’s string class methods using std::string. Implemented in C++, it does not require or make use of a python interpreter. It provides convenience and familiarity for common string operations not included in the standard C++ library. It’s also useful in environments where both C++ and python are used.with std::string.

更多C++中的Python字符串处理 pyString信息

 C/C++ SOAP工具包 gSOAP 

gSOAP一种跨平台的C和 C++软件开发工具包。生成C/C++的RPC代码,XML数据绑定,对SOAP Web服务和其他应用形成高效的具体架构解析器,它们都受益于一个XML接口。 这个工具包提供了一个全面和透明的XML数据绑定解决方案,Autocoding节省大量开发时间来执行SOAP/XML Web服务中的C/C++。此外,使用XML数据绑定大大简化了XML自动映射。应用开发人员不再需要调整应用程序逻辑的具体库和XML为中心的数据,如 交涉DOM。

功能和特点
可移植性:gSOAP支持大多 数平台,包括嵌入式系统和小系统(例如嵌入式Symbian,Palm)。可移植性测试Windows(98,XP,Vista),Linux,Unix 系统,Mac OS X,Solaris,HP-UX,AIX,FreeBSD,TRU64,Irix,QNX,VxWorks。
稳定性:该软件已经成熟。自2001年以来经过几年的发展和试验。许多工业项目和产品都在使用该软件。
广泛的用户群:自2003年以来超过150000次下载,成千上万许可证/支持协议的公司,其中包括一些财富100强企业。
所有功能于一身的软件包:独立第三方工具和库确保可靠的运行执行。
开源:可选择自由和商业许可。
C和C++的支持:支持纯粹的ANSI C和混合的C/C++应用开发。
综合XML数据绑定: gSOAP是唯一的SOAP/XML工具包,支持一个纯粹的本地的C/C++数据绑定到XML。该工具包是以自动序列指针为基础的数据结构。
行业标准协议: SOAP 1.1/1.2  WSDL 1.1,v2和UDDI 。支持XML架构原始XSD结构类型等等。
传 输:HTTP/S, TCP, UDP, MIME (SwA), DIME (streaming), MTOM (streaming), HTTP1.0/1.1, IPv4, IPv6, RSS, XML-RPC, WS-Addressing, WS-Enumeration等
安全:HTTPS和WS安全性:认证令牌,数字签名。
速度:架构特定的编译器生成的代码速度快。基准测试表明速度优于最快的XML解析器。
占用内存小:客户端应用程序总运行内存占用很小。内存管理使用垃圾收集,可以自动清理。 
许多例子:软件包,包括许多代码范例,其中包括独立的HTTP/1.1和HTTPS安全的Web服务器。
Web服务器整合:包括Apache_mod, IIS, WinInet, CGI, FastCGI。

更多C/C++ SOAP工具包 gSOAP信息

 C/C++编译器 AsmJit 

[AsmJit] 是個以 C++ 封裝的 JIT (Just-In-Time) Assembler,目前支援的硬體架構有 x86 與 x86_64,以 MIT X License 釋出。或許讀者對這樣的 Assembler 沒有太大的興趣,但專案卻跟 Google Chrome 瀏覽器引擎有些淵源。怎麼說呢?去年九月,Google 發佈了新一代網路瀏覽器 Chrome,當時幾乎佔據了各大資訊新聞的版面。發佈瀏覽器的同時,還伴隨了一本畫冊,以平實且幽默的和漫畫,闡述新推出的 Chrome 瀏覽器的各功能,包含其中嶄新的 JavaScript (ECMAScript) 執行引擎,搶了風采,讓同等級的瀏覽器頓時失色。由 Google 將其代號命名為 [V8],強調有如 V8 賽車的高速 JavaScript 執行效率,可見 Google 的開發決心。

// Create simple DWORD memory copy function for 32 bit x86 platform: // (for AsmJit version 0.8+) // // void ASMJIT_CDECL memcpy32(UInt32* dst, const UInt32* src, SysUInt len); // AsmJit library #include <AsmJit/AsmJitAssembler.h> #include <AsmJit/AsmJitVM.h> // C library - printf #include <stdio.h> using namespace AsmJit; // This is type of function we will generate  typedef void (*MemCpy32Fn)(UInt32*, const UInt32*, SysUInt); int main(int argc, char* argv[]) {   // ==========================================================================   // Part 1:   // Create Assembler   Assembler a;     // Constants   const int arg_offset = 8; // Arguments offset (STDCALL EBP)   const int arg_size = 12;  // Arguments size     // Labels   Label L_Loop;   Label L_Exit;     // Prolog   a.push(ebp);   a.mov(ebp, esp);   a.push(esi);   a.push(edi);     // Fetch arguments   a.mov(edi, dword_ptr(ebp, arg_offset + 0)); // get dst   a.mov(esi, dword_ptr(ebp, arg_offset + 4)); // get src     a.mov(ecx, dword_ptr(ebp, arg_offset + 8)); // get len   // exit if length is zero   a.jz(&L_Exit);     // Bind L_Loop label to here   a.bind(&L_Loop);     a.mov(eax, dword_ptr(esi));   a.mov(dword_ptr(edi), eax);     a.add(esi, 4);   a.add(edi, 4);     // Loop until ecx is not zero   a.dec(ecx);   a.jnz(&L_Loop);     // Exit   a.bind(&L_Exit);     // Epilog   a.pop(edi);   a.pop(esi);   a.mov(esp, ebp);   a.pop(ebp);   // Return     a.ret();   // ==========================================================================   // ==========================================================================   // Part 2:   // Make JIT function   MemCpy32Fn fn = function_cast<MemCpy32Fn>(a.make());   // Ensure that everything is ok   if (!fn)   {     printf("Error making jit function (%u).\n", a.error());     return 1;   }   // Create some data   UInt32 dst[128];   UInt32 src[128];     // Call JIT function   fn(dst, src, 128);     // If you don't need the function anymore, it should be freed   MemoryManager::global()->free((void*)fn);   // ==========================================================================   return 0; }

更多C/C++编译器 AsmJit信息

 C/C++编译器 GCC 

OPENC++_第5张图片

GCCGNU Compiler CollectionGNU编译器套装),是一套由 GNU 开发的编程语言编译器。它是一套以 GPL及 LGPL 许可证所发行的自由软件,也是 GNU计划 的关键部分,亦是自由的 类Unix 及苹果计算机 Mac OS X 操作系统的标准编译器。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。

GCC 原名为 GNU C 语言编译器GNU C Compiler),因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。之后也变得可处理 Fortran、Pascal、Objective-C、Java, 以及 Ada 与其他语言。

更多C/C++编译器 GCC信息


你可能感兴趣的:(OPENC++)