MFC、VC、C++、QT、QTcreater和QTSDK、OSG、OpenGL和OSGEARTH 作者zhangke95

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

C++是纯粹的编程语言;VC++是编程环境,即平常所说的IDE;MFC是随微软VC++ 开发工具发布的类库。

 MFC,微软基础类(Microsoft Foundation Classes),实际上是微软提供的用于在C++环境下编写应用程序的一个框架和引擎;VC++WinDOS下开发人员使用的专业C++ SDK(SDK,Standard SoftWare Develop Kit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包。MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器,或者说是一种“编译器 +源程序编辑器”的IDE

 MFC是Win API与C++的结合API,即微软提供的WinDOS下应用程序的编程语言接口,是一种软件编程的规范,但本身不是一种程序开发语言,可以允许用户使用各种各样的第三方(如我是一方,微软是一方,Borland就是第三方)的编程语言来进行对WinDOS下应用程序的开发,使这些被开发出来的应用程序能在WinDOS下运行。比如VB,VC++,Java,Dehpi编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在WinOS的消息机制和绘图里,遵守WinDOS作为一个操作系统的内部实现。这其实也是一种必要,微软如果不提供API,这个世上对Win编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾,上面说到MFC是微软对API函数的专用C++封装,这种结合一方面让用户使用微软的专业C++ SDK来进行Win下应用程序的开发变得容易,因为MFC是对API的封装,微软做了大量的工作,隐藏了好多程序开发人员在Win下用C++ & MFC编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价(这是微软的一向作风),因此就造成了MFC对类封装中的一定程度的的冗余和迂回,但这是可以接受的。

Qt是一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程

QT Creator 跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。

QT SDK 包括了Qt库、Qt Creator IDE和Qt工具,这些都集成在一个易于安装的文件包里.。

Qt<QT Creator< QT SDK

QT框架约等于MFC    QT Creator约等于VC++     QT SDK约等于VS

OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。底层是用C写的,就算再安卓平台 ,你看起来是java的,但是他其实是通过jni接口穿透到C的层次,执行的还是C的函数.所谓的跨平台就是,基本上任何主流平台 都会自带gl的接口库,这样一来 你通过使用GL的函数就可以操作显卡的绘图功能.

简单的说OpenGL是osg的底层
 Osg是完全由标准C++和OpenGL而写的.充分利用STL和设计模式的特性,可以说是具有高性能,可扩展,可移植的特性.就目前来讲似乎是越来越流行起来的一款非常棒的场景图形库.
OSG使用的是标准C++
OpenSceneGraph OpenSceneGraph(简称OSG)使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API)。
OpenGL技术为图形元素(多边形、线、点……)和状态(光照、材质、阴影……)的编程提供了标准化的接口。
而OSG开发的主要意义在于,将3D场景定义为空间中一系列连续的对象,以进行三维世界的管理。正是由于场景及其参数定义的特点,通过状态转化、绘图管道和自定制等操作,OSG还可以用于优化渲染性能。可以运行OSG的平台需要具备OpenGL的支持能力,以及C++的编译环境
osgearth是对OSG的一次扩展,是对OSG的一次封装。

 

posted @ 2015-07-25 11:28  zhangke95  阅读(1045)  评论(0编辑  收藏  举报