- 授权协议: Apache
- 开发语言: C/C++
- 操作系统: 跨平台
- 软件首页: https://github.com/cpgf/cpgf
- 软件文档: http://www.cpgf.org/
- 官方下载: https://github.com/cpgf/cpgf
软件介绍
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脚本绑定相关文档。
Responsive Web Design
Ethan Marcotte / Happy Cog / 2011-6 / USD 18.00
From mobile browsers to netbooks and tablets, users are visiting your sites from an increasing array of devices and browsers. Are your designs ready? Learn how to think beyond the desktop and craft be......一起来看看 《Responsive Web Design》 这本书的介绍吧!
