C++ 跨平台多功能扩展库 cpgf

码农软件 · 软件分类 · 其他开发相关 · 2019-10-16 13:27:06

软件介绍

cpgf 可为C++代码增加反射(元数据)、序列化、以及Luau和Python脚本绑定等功能,且不依赖任何外部工具。

cpgf 的目标是扩展C++语言,其中包含许多易于使用的功能,这些功能仅在其他更高级别的语言(如C#,Java或脚本)中可用,并且在C++中不存在。

cpgf库中的模块

  • cpgf反射 —— 将运行时内省和元数据反射功能添加到C++。羡慕C#和Java中的反射系统?现在我们可以在C++中使用了!

  • cpgf序列化 —— 将C++数据和对象保存到永久存储,并可加载回来。想要在C++中使用C#和Java中的序列化系统吗?试试cpgf!

  • cpgf脚本绑定 —— 一个脚本绑定引擎,用于将Lua,Python连接到C++。现在C++中的脚本绑定是小菜一碟!

  • cpgf元数据集合 —— 具有内置元数据支持的库。现在有C++ STL,OpenGL,OpenGLU,OpenGLUT,Box2D物理引擎,SFML多媒体库和Irrlicht 3D渲染引擎的元数据。

  • cpgf元数据生成工具 —— 用Java编写的工具,用于从Doxygen XML文件自动生成元数据。这是一个可选工具。

  • cpgf补间和时间轴 —— 一个用C++实现简易动画的库。

cpgf库的特性

  • 免费和开源。

  • 提供易于使用的基于类和函数的库。

  • 提供基于接口的类似Windows COM的二进制兼容API。很容易将元数据放入动态库并使用其中的元数据。

  • 用标准和可移植的C++编写。它可以在Windows 2008,GCC 3.4.2,Intel Composer XE 12.1.2和C++ Builder 2010中,在Windows,Linux和Mac(iOS,iPhone,iPad)上编译。

  • 广泛使用但不滥用模板编程。

  • 无需外部预处理器或代码生成工具。易于配置,易于与您的项目集成。

  • 不依赖于第三方或扩展C++库。 cpgf不需要Boost库。

反射模块的特性

  • 与Java和C#中的反射系统一样强大。

  • 反射全局/成员函数,全局/成员字段(变量),全局/成员属性(具有getter / setter的字段),构造函数,类,枚举器和注释。

  • 运行时反射。

  • 不需要外部预处理器,也不需要难看的宏。仅使用C++模板,类和函数。

  • 支持多重继承。

  • 支持构造函数,方法和运算符的默认参数。

  • 有关更多信息,请阅读cpgf反射相关文档。

序列化模块的特性

  • 与Java和C#中的序列化系统一样强大。

  • 正确解析指向同一对象的多个指针。

  • 序列化多态对象。

  • 序列化C++数组。

  • 非常容易扩展。该库支持自定义序列化程序,以手动序列化特殊数据类型。

  • 不依赖具体存储格式。

  • 为序列化数据增加版本。

  • 不需要额外的操作。序列化仅取决于反射元数据。

  • 有关更多信息,请阅读cpgf序列化相关文档。

脚本绑定模块的特性

  • 支持Lua 5.2和5.1,Python 2.7.3。

  • 非常简单易用。任何反射的元数据都可以绑定到脚本。

  • 将C++类,枚举器,函数,变量和运算符绑定到脚本引擎。

  • 从C++调用脚本引擎函数。

  • 将用脚本编写的函数传递给C++并由C++使用。

  • 从C++获取并设置脚本引擎变量。

  • 在C++和脚本之间传输任意二进制数据。

  • 将任意脚本函数和对象传递给C++。

  • 支持C++共享指针(C++ 11,Boost)。

  • 有关更多信息,请阅读cpgf脚本绑定相关文档。

本文地址:https://codercto.com/soft/d/16882.html

村落效应

村落效应

[加] 苏珊·平克(Susan Pinker) / 青涂 / 浙江人民出版社 / 2017-3-1 / CNY 69.90

 面对面的接触是作为社会性动物的人类最古老、深刻的需求。在互联网时代,社交媒体已经成为人际沟通的主体,人际关系的维系越来越被社交媒体上的点赞、转发、评论代替,在冰冷的互动中,我们失去了真实与温度。面对面的人际关系与接触能让人感受到如村落生活般的归属感,它是一个人免疫力、复原力和影响力的真正来源。虽然互联网拥有毋庸置疑的优势,但是如果我们渴望快乐、健康、长寿……没错,还有智慧,我们就需要想方设法腾......一起来看看 《村落效应》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具