面向对象的C语言开发框架:Nesty
Nesty是什么?
Nesty是跨平台的,面向对象的C语言开发框架。Nesty旨在为从事系统开发的编程人员提供一套统一的、高效的、易于使用的编程接口。
Nesty能做什么?
Nesty不是一个可以单独运行的程序,而是一套程序开发框架(或者工具库),Nesty已有的代码为从事C/C++开发的编程人员提供跨平台,面向对象C,容器及算法,多线程,单元测试等支持。编程人员利用Nesty所提供的工具开发出进一步接近其项目需求的软件。
Nesty包含了哪些组件?
Nesty目前的版本包含了NOOC,NCollection,NThread,NUtil,NTest等重要组件:
NOOC (Nesty Object-Oriented C)为纯C语言环境提供面向对象编程的支持。NOOC提供的类型框架能够模拟C++语言类继承,多态,运行时类识别,安全类型转换等面向对象行为。NOOC突破C的语言限制,为C环境下从事类C++开发提供强力支持。
NCollection 是在NOOC基础上开发的面向对象的容器框架,NCollection提供了近20种常用容器,类型覆盖所用通用数据结构,如数组(NArray)、向量(NVector)、列表(NList),集合(NSet)、关联表(NMap)。用户只需要为类型定义极少数的模板函数,即可以方便地使用。
NThread 基于Posix标准提供并发编程的支持。除了实现了Posix协议下的大多数同步对象外,还专为线程创建与调度提供了NExecutor和NScheduler等基于线程池的技术。NThread足以解决所有您在并发编程中遇到的难题。
NUtil 包含了框架中的其他功能,其中NString是功能强大的字符串对象,涵盖了对拘留池的支持,NChars为创建字符串容器提供便利。
NTest 是Nesty的单元测试框架,旨在帮助用户构建快速,有效的测试,既可以整体地运行也能对个别用例提供单独调试的便利。通过NTest提供的工具,您将能够方便,系统地管理以及复用您的测试用例。
Nesty基于什么协议发布?
Nesty基于GNU联盟的GPL(GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007)协议发布,意味着使用了Nesty的项目,也必须是开源的。但对于商业团体而言,依然可以向Nesty的作者申请非GPL授权。
Nesty支持哪些平台?
目前只支持32位的Windows操作系统和32位的Ubuntu12.04LTS Linux系统。Nesty采取了全平台战略,用纯C语言开发,不依赖任何第三方库/代码,因此您可以毫不费力地将Nesty移植到任何支持ANSI C99以及Posix .1标准的平台上。
Nesty容器支持C++
为了方便用户在C++中使用容器,Nesty专门针对模板类对NCollection的所有对象提供了封装,因此您可以像使用标准模板库一样方便地使用Nesty。
Nesty可以使用哪些跨平台的工具与技术?
Nesty使用CMake来构建和编译项目,因此要求使用Nesty的平台能够运行CMake。Windows下可以使用Visual Studio,以及Linux下可以使用KDevelop进行开发。
Nesty目前什么规模?
Nesty共包含约357个代码文件,代码总行数约78000行,有效代码行数约56000行,其中测试代码约20000行。
为什么要支持Nesty?
Nesty易于集成和移植,为了考虑到跨平台及移植的问题,Nesty核心组件采用纯C语言编程,支持ANSI C99标准。
Nesty支持面向对象,Nesty能很好地模拟C++等面向对象语言的诸多特性,如继承,多态等,使您的程序在保持了C简洁、高效的特性的同时,又能弥补语言限制而引发的设计上的不便。Nesty已经为您提供了最简洁的模式来实现面向对象C。
Nesty的代码是健壮的,Nesty的核心代码经过作者反复测试和调试,并进行了多次的修改与更正,以确保其正确性,虽然仅凭作者一人之力很难做到完美,但作者对其代码拥有充足的信心。
Nesty的算法是高效的,Nesty采用了大量计算机行业中优秀且成熟的算法,其中部分是经作者长期研究和测试所总结出来的宝贵经验。
Nesty的框架是优秀的,Nesty自开发之初,便参考了众多成熟且优秀的编程语言和SDK,如Java,C#,python,STL,QT,GTK等,并逐一参考其优点。
Nesty是免费且开源的,Nesty的源代码完全公开,任何人都可以获得一份该软件的拷贝并免费使用,前提是您必须在GPL的授权许可下从事活动。
Nesty会得到长期支持,作者承诺会持续开发并维护该软件,即使将来作者由于个人原因无法继续开发Nesty,任何组织和个人都可以在GPL的框架下继续扩展和维护Nesty。
Nesty直接从开发者获得支持,Nesty的作者并非来源于某个外国的个人或组织,而是中国公民,并且活动于国内知名技术论坛,您随时可以联系作者提问并给予反馈。作者会尽快受理您的请求。
Nesty的作者是谁?
Nesty的作者是在计算机行业拥有多年工作经验的程序员,曾任职于国内知名IT/游戏公司。目前,作者本人作为Nesty项目的发起人和主要开发者,致力于为众多专业/非专业的编程开发人员提供服务。
作者能向您提供什么服务?
代码授权,Nesty基于GPL发布,为了保证公开且公平,GPL具有传染性,意味着使用了Nesty代码的软件项目也必须是基于GPL发布的,即同样是开源且免费的。如果您对Nesty感兴趣但又不希望自己的项目暴露在GPL框架下,作者同样可以向您提供非GPL授权。
技术支持,如果您在对Nesty进行移植和集成过程中遇到问题,或者需要对软件实施定制,作者可以向您提供必要的支持,并将根据实际情况为您提供免费/非免费的服务。