A. office办公软件都有哪些
常用组件/office 编辑
office 2007图册
每一代的Microsoft office都有一个以上的版本,每个版本都根据使用者的实际需要,选择了不同的组件。
Word
Microsoft Word是文字处理软件。它被认为是Office的主要程序。它在文字处理软件市场上拥有统治份额。它私有的DOC格式被尊为一个行业的标准,虽然它的最新版本Word 12.0/2007也支持一个基于XML的格式。Word也信枝适宜某些版本的Microsoft Works。它适宜Windows和Macintosh 平台。它的主要竞争者是OpenOffice.org Writer、StarOffice、Corel WordPerfect和Apple Pages。
Excel
Microsoft Excel是电子数据表程序〔进行数字和预算运算的软件程序〕。像Microsoft Word,它在市场拥有统治份额。它最初对占优势的Lotus 1-2-3是个竞争者,但最后它卖得比它多、快,于是它成为了实际标准。它适宜Windows和Macintosh 平台。它的主要竞争者是OpenOffice.org Calc、StarOffice和Corel Quattro Pro。
Outlook
Microsoft Outlook——请不要同微软的另外一款产品Outlook Express相混淆—— 是个人信息管理程序和电子邮件通信软件。在Office 97版接任Microsoft Mail。它包括一个电子邮件客户端,日历,任务管理者,和地址本。它的电子邮件程序的主要竞争者是Mozilla Thunderbird(Mozilla)和Eudora。它的个人信息管理程序主要竞争者是枣明Mozilla和Lotus Organizer。它仅适宜Windows平台;一个版本也被包括在大多数Pocket PC掌上电脑里。它在Macintosh里对应的程序是Microsoft Entourage。
Access
Microsoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 2007 的成员之一。
Assess能够存取 Access/Jet、Microsoft SQL Server、Oracle,或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的"进阶用户"则能使用它来开发简单的应用软件。虽然它支援部份面向对象(OO)技术,但是未能成为一种完整的面向对象开发工具。
其实Access也是微软公司另一个通讯程序的名字,想与 ProComm 以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。
PowerPoint
Microsoft PowerPoint 使用户可以快速创建极具感染力的动态演示文稿,同时集成工作流和方法以轻松共享信息。
Outlook Express
Microsoft Outlook Express,简称凳坦告为OE,是微软公司出品的一款电子邮件客户端,也是一个基于NNTP协议的Usenet客户端。微软将这个软件与操作系统以及Internet Explorer网页浏览器捆绑在一起。同时,对于苹果公司“经典”版的麦金塔电脑提供该软件的免费下载(微软不对新版本的Mac OS X操作系统提供该软件,在OS X上微软对应的软件是Microsoft Entourage,Microsoft Entourage是专有商用软件Microsoft Office套装的一部分)。
Project
Microsoft Project(或MSP) 是专案管理软件程序由微软开发销售。软件设计目的在于协助专案经理发展计划、为任务分配资源、跟踪进度、管理预算和分析工作量。第一版微软Project为微软Project for Windows 95,发布于1995年。其后版本各于1998, 2000, 2003和2006年发布。本应用程序可产生关键路径日程表──虽然第三方ProChain和Spherical Angle也有提供关键链关联软件。日程表可以以资源标准的,而且关键链以甘特图形象化。另外,Project可以辨认不同类别的用户。这些不同类的用户对专案、概观、和其它资料有不同的访问级别。自订物件如行事历、观看方式、表格、筛选器和字段在企业领域分享给所有用户。
Publisher
Microsoft Office Publisher是微软公司发行的桌面出版应用软件。它常被人们认为是一款入门级的桌面出版应用软件,它能提供比Microsoft Word更强大的页面元素控制功能,但比起专业的页面布局软件,比如说Adobe公司的InDesign以及Quark公司的QuarkXPress来还略逊一筹。
比起其它桌面出版软件来,Publisher在历史上一直不受高端商务打印商店欢迎。它只能用于Windows,而业界占相当份额的系统运行的是苹果公司的Mac OS X。Publisher定位于入门级的应用软件造成了很多的问题,比如在服务提供商的电脑上没有相应字体和嵌入对象等等(虽然Publisher提供了可以把相关联的文件压缩成一个自释放应用程序的工具)。许多高端特性,比如透明化,对象阴影,slugs,路径文本,内嵌的PDF输出等等,或者没有完全实现,或者干脆没有。但最近的一些版本有了很大的提高,开始关注色彩分离以及正确地处理彩色输出。Publisher 2007还包含了期待已久的特性,可以输出商业出版品质带内嵌字体的PDF格式,作为选件可以从微软网站下载。
Publisher被包含在高端的Microsoft Office版本中。这反映了微软对Publisher的定位,它是一款易用的,相比于那些重量级产口而言价格适中的产品,它的目标用户主要是那些没有专业人员制作市场推广材料以及其它文档的中小型企业。
Publisher的大部份替代品,除Adobe PageMaker外,都不提供导入Publisher的功能;但是,Publisher可以导出成EMF (Enhanced Metafile)格式,它可以被其它软件支持。
Visio
Microsoft Visio是Windows操作系统下运行的流程图和矢量绘图软件,它是Microsoft Office软件的一个部分。
2000年微软公司收购同名公司后,Visio成为微软公司的产品。它的竞争者是Adobe Illustrator、Macromedia FreeHand和CorelDraw。
其他组件/office 编辑
office图册
除了以上常用的几种组件,Microsoft Office还有以下其他组件。
Microsoft Binder:Microsoft Binder——把多个文件合并为一个文件。Binder对微软来说是一个大范围的失败,并且被应用得非常不广泛。因此Office的新版本经常不包括它。
Microsoft Entourage:Microsoft Entourage——仅用于Macintosh的个人信息管理程序和通信软件。(与Outlook类似) 。
Microsoft MapPoint:Microsoft MapPoint是微软经年打造、允许用户观看、编辑和集成地图的技术和软件的一个独特作品。MapPoint 意欲为商业用户,因为它包括先进的功能,譬如与微软Office整合,并且从微软Excel在一张被创造的地图上显示趋向和资料。
B. CRUD 程序员勿进JDK 源码剖析手册与并发编程图册,完美诠释高并发
在后端程序员的中,如果你有高并发的经验,也往往能得到比别人更多的机会。原因很简单,高并发会涉及到各种各样的技术问题,如接口响应超时、GC 频繁、大数据量储存、死锁等等。能搞定高并发的程序员,技术深度一定不会差。
为了能大家更好地了解 Java 并发,我我前段时间特地从阿里的一位朋友手上拿到了他手写的 JDK 源码剖析手册与并发编程图册,下面一起来看看吧:
JDK 源码剖析手册
基于 JDK7 和 JDK 8,对整个 Concurrent 包进行全面的源码剖析。JDK8 中大部分并发功能的实现和 JDK 7 一样,但新增了一些额外的特性。例如 CompletableFuture、ConcurrentHashMap 的新实现、StampedLock、LongAdder 等。
点击并拖拽以移动
点击并拖拽以移动
点击并拖拽以移动
详细内容展示
点击并拖拽以移动
点击并拖拽以移动
点击并拖拽以移动
点击并拖拽以移动
点击并拖拽以移动
并发编程图册
包含大量图文以及源码分析帮助大家理解相关知识,借助这些图文,按照这个顺序学习,至少可以让你简单入门并发。
总览
点击并拖拽以移动
详细内容展示
点击并拖拽以移动
点击并拖拽以移动
点击并拖拽以移动
点击并拖拽以移动
点击并拖拽以移动
点击并拖拽以移动
点击并拖拽以移动
由于这份资料实在是细节内容实在太多啦,所以只能把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!如果有需要完整版的朋友可以: 一键三连支持一下私信我,注意回复【000】即可获取更多免费资料! 希望大家看完之后能够有所收获~
C. codesys怎么学习
Codesys是什么?
Codesys[2] 图册
CoDeSys 是Controller Development System 的缩写,概括讲,CoDeSys 是一个独立于硬件平台且能满足可重构需求的开放式全集成化的软件开发平台,针对自动化及嵌入式系统领域向客户提供了一个基于 IEC 61131-3国际标准的开发环境,同时 CoDeSys 是基于微软 Microsoft.NET 技术进行构建的、因此它不仅结构先进、功能强大,而且易于学习掌握。
Codesys是德国的3S公司开发的3S(SMART,SOFTWARE,SOLUTIONS)是全球最着名的软PLC内核软件研发厂家之一
CoDeSys 的架构基本上可以分为三层:应用开发层(Development Layer)、通信层(Communication Layer)和设备层 (Device Layer)。它不仅支持CAN open、Profibus、EtherCAT、SERCOS、Device Net、ProfiNet、Modbus、Ethernet 等多种现场总线,而且可根据客户的具体需求将不同自动化厂商提供的产品和系统进行组合配置后统一编程,从而真正实现了控制系统的开放性和可重构性。CoDeSys SP 软件包(the SoftPLC Runtime System)可以将任何嵌入式系统或 PC 变成基于 IEC 61131-3 国际标准的、功能强大的可编程控制器。其中 CoDeSys Soft Motion 软件包可将逻辑控制(SoftPLC)和运动控制 (SoftMotion 、SoftMotion CNC、HMI)合四为一,完美地实现从单轴运动到复杂的多轴轨迹插补的编程和控制。
可见,基于面向对象编程理念的且能满足复杂多任务控制需求的软件开发平台——CoDeSys,凭借其强大的技术优势使 CoDeSys 自动化联盟成员的不同控制装置(PLC、I/O、Motor、HMI、Valve and etc.)可以运行工作在由基于 CoDeSys 的应用软件所控制的同一个项目中。而部署和配置起来就像在Windows 环境下选择一个打印机那样容易和简单:只需在安装列表中的备选硬件清单里将不同的硬件组件添加到 CoDeSys 项目树中即可轻松实现上述理念。同时,德国 3S 公司率先开发出了冗余(CoDeSys Rendancy )和安全套件(CoDeSys Safety),总之,CoDeSys 能让客户开发出符合国际 SIL-3 标准的控制器并使其获得认证变得更加容易。
CodeSys版本
1994发布1.0版本。
现在国内PLC用户使用的版本多为CoDeSys V2.3, 最新的版本是CoDeSys V3。
V3 在软件架构上有了很大的改善,朝安全软件的方向发展,目前正在申请TUV关于EN 61508的SIL认证。
CoDeSys 是一种功能强大的PLC软件编程工具,它支持IEC61131-3标准IL 、ST、 FBD 、LD、 CFC、 SFC 六种PLC编程语言,用户可以在同一项目中选择不同的语言编辑子程序,功能模块等。CoDeSys是可编程逻辑控制PLC的完整开发环境(CoDeSys是Controlled Development System的缩写),在PLC程序员编程时,CoDeSys为强大的IEC语言提供了一个简单的方法,系统的编辑器和调试器的功能是建立在高级编程语言的基础上(如Visual C++)。现在国内PLC用户使用的版本多为CoDeSys V2.3, 最新的版本是CoDeSys V3。V3 在软件架构上有了很大的改善,朝安全软件的方向发展,目前正在申请TUV关于EN 61508的SIL认证。CoDeSys软件还可以编辑显示器界面(Visualization),具有很多的控制模块(Motion),可以放置图片等强大的功能,典型的用户有ifm等。CoDeSys功能总览:如何构建一个工程、怎么样构建一个工程、怎么样测试工程、调试、附加联机功能。CoDeSys的附加功能、工具等。
Codesys特点
除了支持PLC编程,还支持总线接口,驱动设备(特别是伺服,数控),显示设备,IO设备等的编程.
支持多种PLC语言
支持完整版本的IEC61131-3标准的编程环境->六种PLC编程语言:IL 、ST、 FBD 、LD、 CFC、 SFC
用户可以在同一项目中选择不同的语言编辑子程序,功能模块等
支持HMI编辑
界面支持:支持编辑显示器界面(Visualization)
支持众多控制模块
具有很多的控制模块(Motion),可以放置图片等强大的功能
可扩充
CoDeSys提供了许多组合产品的扩充,诸如各种不同领域的总线配置程序、完全的目测化和运动控制系统
应用广泛
很多(PLC厂家)公司都是用(基于)CodeSys去开发自己的编程软件:
BB Bachmann
美国西电公司(Western Electric)的控制系统
芬兰EPEC派芬
HOLLYSYS和利时 G3 PLC
Inter Control的PROSYD1131 控制器,显示器
赫思曼公司iFlex 系列
BOSCH的Rexroth的IndraLogic
TT control 公司TTC系列控制器
ABB AC500 PLC
Wago的控制器
Beckhoff倍福的控制器
Festo的FEC控制器
Schneider施耐德伺服TLC63
Codesys前景
Codesys已发展为一个标准的软件平台被很多硬件厂家支持,可编程超过150家OEM生产的自动装置,国内采用codesys平台的厂家比如HOLLYSYS,Co-trust,Sietyco等控制器也已大批量产业应用。同时,也有运动控制厂家如:Scheider Electric, Banchman, GoogolTech在在使用Codesys平台开发自己的编程软件。
CoDeSys 软件商是德国Smart software solution GmbH,该公司位于德国巴伐利亚州肯普腾市。
D. 【求助】外贸员如何制作电子版图册
外贸员制作电子版图册,那就说明是没有什么制作基础的。建议你需要找一些零基础的制作工具。比如说云展网这个网站。你不需要会电子制作银燃的过程和参数,你把你的资料比如说PDF在网页里面上传之后,他能在很短的时间内就可以生成一份3D翻页的电子嫌颂书。你可以去预览这个电子期芹搏郑刊电子图册,然后在你想的页面里面添加你的图片,添加你的文字。完成之后还可以生成链接,二维码小程序码很适合,适合在微信上展示,用于推广也不错。
E. C++中,创建对象后用该对象调用了两次同一个成员函数,最终结果显示的是“12“,请问该成员函数该怎么写
Visual C++简介??
虽然微软公司推出了VisualC++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于Windows2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C++6.0为平台。 Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。 ?
VISUAL C++的安装?
作为visual studio的一个组件,可以通过安装visual studio来获得 VISUAL C++作为一个主流的开发平台一直深受编程爱好者的喜爱,但是很多人却对它的入门感到难于上青天,究其原因主要是大家对他错误的认识造成的,严格的来说VISUAL C++不是门语言,虽然它和C++之间有密切的关系,如果形象点比喻的话,可以把C++看作为一种“工业标准”,而VISUAL C++则是某种操作系统平台下的“厂商标准”,而“厂商标准”是在遵循“工纯并业标准”的前提下扩展而来的。 VISUAL C++应用程序的开发主要有两种模式,一种是WIN API方式,另一种则是MFC方式,传统的WIN API开发方式比较繁琐,而MFC则是对WIN API再次封装,所以MFC相对于WIN API开发更具备效率优势,但为了对WINDOWS开发有一个较为全面细致的认识,笔者在这里还是以讲解WIN API的巧行相关内容为主线。 话说到这里可能更多人关心的是学习VISUAL C++需要具备什么条件,为什么对于这扇门屡攻不破呢? 要想学习好VISUAL C++必须具备良好的C/C++的基础,必要的英语阅读能力做宽迹也是必不可少的,因为大量的技术文档多以英文形式发布。 VISUAL C++基于C,C++语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VISUAL C++在 Windows平台无所不能。最大缺点是开发效率不高。
VISUAL C++适用范围?
1、VISUAL C++主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层的调用。在VISUAL C++里边嵌入汇编语言很简单。 2、VISUAL C++主要用在驱动程序开发 3、VISUAL C++执行效率高,当对系统性能要求很高的时候,可用VISUAL C++开发。 4、VISUAL C++主要适用于游戏开发 5、VISUAL C++多用于单片机,工业控制等软件开发,如直接对I/O地址操作,就要用C++。 6、VISUAL C++适用开发高效,短小,轻量级的COM组件,DLL。比如WEB上的控件。 7、VISUAL C++可以开发优秀的基于通信的程序。 8、VISUAL C++可以开发高效灵活的文件操作程序。 9、VISUAL C++可以开发灵活高效的数据库操作程序。 10、VISUAL C++是编CAD软件的唯一选择!!!包括AUTOCAD,UG的二次开发。 11、VISUAL C++在多线程、网络通信、分布应用方面,VISUAL C++有不可比拟的优势。
VISUAL C++技术介绍?
匈牙利命名法规则 一般情况下,变量的取名方式为: 范围前缀_,类型前缀_,限定词。 特殊的类型命名,前缀表示: 类、接口 前缀类型例子备注 Lm Class LmObject 表示类型本身不与范围前缀结合使用 I Interface 接口 IUnknown 注:类名前缀改为Lm,对于非全局的类最好有语义表示其所属模块。类的实例命名与类名大致相同,只是类名语义表示类的通用含义,而类名表示此实例的具体语义。如类名LmSketPoint表示草图点的类定义,而它的两个实例 _StartPoint,_EndPoint分别代表起点和终点的语义。类的实例命名带上前缀_。 特殊约定: a. MouseTool的派生类的前缀为_Mt. b.对话框类的前缀为CDlg. c.橡皮条类的前缀为_Rb. 范围前缀: 前缀类型例子备注 g_ 全局作用域 g_Servers m_ 成员变量m_pDoc, l_ 局部作用域 l_strName 少用 注:编程时尽量少用全程变量,对于全程变量还应在类型前缀后加上如下关键字: 特征模块 : Fea 草图模块 : Sket 装配模块 : Asm 工程图模块: Lay 曲面模块 : Surf 界面模块 : Ui 常用的一般数据类型的前缀 前缀类型内存规格描述例子 ch char 8-bit character chGrade ch TCHAR 16-bit character if _UNICODE is defined chName b BOOL Boolean value bEnabled n int Integer (size dependent on operating system)nLength n UINT Unsigned value (size dependent on operatingsystem) nLength w WORD 16-bit unsigned value wPos l LONG 32-bit signed integer lOffset dw DWORD 32-bit unsigned integer dwRange p * Ambient memorymodel pointer pDoc lp FAR* Far pointer lpDoc lpsz LPSTR 32-bit pointer to character string lpszName lpsz LPCSTR 32-bit pointer to constant character stringlpszName lpsz LPCTSTR 32-bit pointer to constant character stringif _UNICODE is defined lpszName h handle Handle to Windows object hWnd lpfn (*fn)() callbackFar pointer to CALLBACK functionlpfnAbort 常用Windows对象名称缩写 Windows 对象例子变量 MFC类例子对象 HWND hWnd; CWnd* pWnd; HDLG hDlg; CDialog* pDlg; HDC hDC; CDC* pDC; HGDIOBJ hGdiObj; CGdiObject* pGdiObj; HPEN hPen; CPen* pPen; HBRUSH hBrush; CBrush* pBrush; HFONT hFont; CFont* pFont; HBITMAP hBitmap; CBitmap* pBitmap; HPALETTE hPalette; CPalette* pPalette; HRGN hRgn; CRgn* pRgn; HMENU hMenu; CMenu* pMenu; HWND hCtl; CStatic* pStatic; HWND hCtl; CButton* pBtn; HWND hCtl; CEdit* pEdit; HWND hCtl; CListBox* pListBox; HWND hCtl; CComboBox* pComboBox; Visual C++常用宏定义命名列表 前缀符号类型符号例子范围 IDR_ 标识多个资源共享的类型 IDR_MAINFRAME 1to 0x6FFF IDD_ 对话框资源(Dialog)IDD_SPELL_CHECK 1 to 0x6FFF IDB_ 位图资源(Bitmap)IDB_COMPANY_LOGO 1 to 0x6FFF IDC_ 光标资源(Cursor)IDC_PENCIL 1 to 0x6FFF IDI_ 图标资源(Icon) IDI_NOTEPAD1 to 0x6FFF ID_IDM_ 工具栏或菜单栏的命令项 ID_TOOLS_SPELLING0x8000 to 0xDFFF HID_ 命令上下文帮助(Command Helpcontext) HID_TOOLS_SPELLING 0x18000 to 0x1DFFF IDP_ 消息框提示文字资源IDP_INVALID_PARTNO 8 to 0xDFFF HIDP_ 消息框上下文帮助(Message-box Helpcontext) HIDP_INVALID_PARTNO 0x30008 to 0x3DFFF IDS_ 字符串资源(String)IDS_COPYRIGHT 1 to 0x7FFF IDC_ 对话框内的控制资源(Control)IDC_RECALC 8 to 0xDFFF VISUAL C++ 下的数据类型 类型含义 ATOM Atom. For more information, see Atoms. BOOL Boolean variable (should be TRUE or FALSE). BOOLEAN Boolean variable (should be TRUE or FALSE). BYTE Byte (8 bits). CALLBACK Calling convention for callback functions. CHAR 8-bit Windows (ANSI) character. For moreinformation, see Character Sets Used By Fonts. COLORREF Red, green, blue (RGB) color value (32 bits).See COLORREF for information on this type. CONST Variable whose value is to remain constant ringexecution. DWORD 32-bit unsigned integer. DWORD_PTR Unsigned long type for pointer precision. Usewhen casting a pointer to a long type to perform pointer arithmetic. (Alsocommonly used for general 32-bit parameters that have been extended to 64 bitsin 64-bit Windows. ) DWORD32 32-bitunsigned integer. DWORD64 64-bit unsigned integer. FLOAT Floating-point variable. HACCEL Handle to an accelerator table. HANDLE Handle to an object. HBITMAP Handle to a bitmap. HBRUSH Handle to a brush. HCONV Handle to a dynamic data exchange (DDE)conversation. HCONVLIST Handle to a DDE conversation list. HCURSOR Handle to a cursor. HDC Handle to a device context (DC).
VISUAL C++常用技术术语解释?
窗口? 窗口是windows应用程序的基本操作单元,用户通过它与应用程序发生交互,例如输入输出操作等等,从程序的内部工作原来来看,每一个窗口对应一个消息处理队列,应用程序主要通过窗口消息处理函数对用户的输入操作进行响应与处理。要想从程序员的角度充分理解窗口的含义,那么对WNDCLASS这个数据结构进行充分的了解是必须的。
实例?
单个实例代表一个可执行程序在内存中的拷贝,如果一个应用程序执行许多次,那么在内存中就有多少个拷贝,也就可以说明有多少个实例存在。
句柄?
句柄在windows环境下被定义成了一个无符号的整数,用于标识应用程序中不同的对象和同类对象中的不同实例。句柄可以看成是对象的编号,联系上面的实例,那么一个实例句柄就可以看作是单个应用程序在内存中拷贝的唯一身份编号,通常系统只能通过实例句柄去识别不同的应用程序,或者是相同应用程序的不同副本。
资源?
Windows应用程序包含很多资源,例如,菜单,图标,对话框等等,VISUAL C++环境下我们不仅仅可以使用系统下原有的资源,我们也可以定义自己的资源,这些资源被定义在.RC文件中,通过应用程序最后的编译,这些资源文件和程序代码连接在一起,形成一个可执行的.EXE文件或者是一个.DLL的库文件。在使用这些资源的时候,通过WIN API函数学将这些资源调用使用。
窗口消息处理函数?
窗口是人机交互的接口,当窗口接受到输入请求的时候,就会把这一请求交给某一个函数进行处理,而这个函数就是窗口消息处理函数,它能够决定当一个消息被接受到的时候采取什么行动。 消息通常是由一系列的输入操作触发的,比如当我按下鼠标左键那么窗口消息处理函数就会收到一个WM_LBUTTONDOWN的消息信号。在窗口消息处理函数中,我们可以利用switch和case结构进行控制, 针对此消息作出我们想要的操作。
图形设备接口?
应用程序的任何输出操作都需要通过图形设备接口(GDI)中的函数来完成操作,GDI负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上显示图形或者文字,它将程序员与具体的硬件设备隔离开,让程序员不需要考虑硬件设备操作的细节。
回调函数?
回调函数是windows操作系统自己调用的函数,用户是不能直接调用他们的。回调函数的定义必须严格的按照windows标准进行编写。
VISUAL C++中播放声音的方法?
简介?
声音是多媒体的一个重要组成部分,在应用程序中加入声音可以使界面更友好。在VISUAL C++中可以根据不同的应用要求,用不同的方法实现声音的播放。
一.播放声音文件的简单方法?
在VISUAL C++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。最简单的播放声音方法就是直接调用VISUAL C++中提供的声音播放函数BOOL sndPlaySound( LPCSTR lpszSound,UINT fuSound ); 或BOOL PlaySound(LPCSTR lpszSound, HMODULE hmod, DWORD fuSound );其中参数lpszSound是需要播放声音的.WAV文件的路径和文件名, hmod在这里为NULL,fuSound是播放声音的标志,详细说明请参考VISUAL C++中的帮助。例如播放C:soundmusic.wav可以用sndPlaySound ("c:\sound\music.wav",SND_ASYNC);或PlaySound("c:\sound\music.wav",NULL, SND_ASYNC|SND_NODEFAULT );如果没有找到music.wav文件,第一种格式将播放系统默认的声音,第二种格式不会播放系统默认的声音。
?
二.将声音文件加入到程序中?
在VISUAL C++的程序设计中,可以利用各种标准的资源,如位图,菜单,对话框等。同时VISUAL C++也允许用户自定义资源,因此我们可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成EXE文件,实现无.WAV文件的声音播放。 要实现作为资源的声音文件的播放,首先要在资源管理器中加入待播放的声音文件(实现过程并不复杂,这里不在叙述)。假设生成的声音文件资源标识符为IDR_WAVE1。在播放时只需要调用下面的语句: PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(), SND_ASYNC|SND_RESOURCE|SND_NODEFAULT|SND_LOOP); 其中MAKEINTRESOURCE()宏将整数资源标识符转变为字符串,AfxGetResourceHandle()函数返回包含资源的模块句柄, SND_RESOURCE是必须的标志。 作为资源的声音文件的第二种播放方法是把资源读入内存后作为内存数据播放。具体步骤入下: 1.获得包含资源的模块句柄: HMODULE hmod=AfxGetResourceHandle(); 2.检索资源块信息: HRSRChSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_WAVE1),_T("WAVE")); 3. 装载资源数据并加锁: HGLOBAL hGlobalMem=LoadResource(hmod,hSndResource); LPCTSTRlpMemSound=(LPCSTR)LockResource(hGlobalMem); 4.播放声音文件: sndPlaySound(lpMemSound,SND_MEMORY)); 5.释放资源句柄: FreeResource(hGlobalMem);
三.播放声音文件的高级方法
在VISUAL C++中提供了一组对音频设备及多媒体文件直接进行操作的函数。利用这些函数可以灵活地对声音文件进行各种处理。 首先介绍几个要用到的数据结构。WAVEFORMATEX结构定义了WAVE音频数据文件的格式。WAVEHDR结构定义了波形音频缓冲区。读出的数据首先要填充此缓冲区才能送音频设备播放。WAVEOUTCAPS结构描述了音频设备的性能。MMCKINFO结构包含了RIFF文件中一个块的信息。详细的说明请参考VISUAL C++中的帮助。 下面给出程序流程简图及程序源代码清单,在VISUAL C++环境下可直接使用: 源程序清单如下: LPSTR szFileName;//声音文件名 MMCKINFO mmckinfoParent; MMCKINFO mmckinfoSubChunk; DWORD dwFmtSize; HMMIO m_hmmio;//音频文件句柄 DWORD m_WaveLong; HPSTR lpData;//音频数据 HANDLE m_hData; HANDLE m_hFormat; WAVEFORMATEX * lpFormat; DWORD m_dwDataOffset; DWORD m_dwDataSize; WAVEHDR pWaveOutHdr; WAVEOUTCAPS pwoc; HWAVEOUT hWaveOut; //打开波形文件 if(!(m_hmmio=mmioOpen(szFileName,NULL,MMIO_READ|MMIO_ALLOCBUF))) { //File open Error Error("Failed to open the file.");//错误处理函数 return false; } //检查打开文件是否是声音文件 mmckinfoParent.fccType=mmioFOURCC(’W’,’A’,’V’,’E’); if(mmioDescend(m_hmmio,(LPMMCKINFO)&mmckinfoParent,NULL,MMIO_FINDRIFF)) { //NOT WAVE FILE AND QUIT } //寻找 ’fmt’ 块 mmckinfoSubChunk.ckid =mmioFOURCC(’f’,’m’,’t’,’ ’); if(mmioDescend(m_hmmio,&mmckinfoSubChunk,&mmckinfoParent,MMIO_FINDCHUNK)) { //Can’t find ’fmt’ chunk } //获得 ’fmt ’块的大小,申请内存 dwFmtSize=mmckinfoSubChunk.cksize ; m_hFormat=LocalAlloc(LMEM_MOVEABLE,LOWORD(dwFmtSize)); if(!m_hFormat) { //failed alloc memory } lpFormat=(WAVEFORMATEX*)LocalLock(m_hFormat); if(!lpFormat) { //failed to lock the memory } if((unsignedlong)mmioRead(m_hmmio,(HPSTR)lpFormat,dwFmtSize)!=dwFmtSize) { //failed to read format chunk } //离开 fmt 块 mmioAscend(m_hmmio,&mmckinfoSubChunk,0); //寻找 ’data’ 块 mmckinfoSubChunk.ckid=mmioFOURCC(’d’,’a’,’t’,’a’); if(mmioDescend(m_hmmio,&mmckinfoSubChunk,&mmckinfoParent,MMIO_FINDCHUNK)) { //Can’t find’data’ chunk } //获得 ’data’块的大小 m_dwDataSize=mmckinfoSubChunk.cksize ; m_dwDataOffset =mmckinfoSubChunk.dwDataOffset ; if(m_dwDataSize==0L) { //no data in the ’data’ chunk } //为音频数据分配内存 lpData=new char[m_dwDataSize]; if(!lpData) { //faile } if(mmioSeek(m_hmmio,SoundOffset,SEEK_SET)<0) { //Failed to read the data chunk } m_WaveLong=mmioRead(m_hmmio,lpData,SoundLong); if(m_WaveLong<0) { //Failed to read the data chunk } //检查音频设备,返回音频输出设备的性能 if(waveOutGetDeVISUAL C++aps(WAVE_MAPPER,&pwoc,sizeof(WAVEOUTCAPS))!=0) { //Unable to allocate or lock memory } //检查音频输出设备是否能播放指定的音频文件 if(waveOutOpen(&hWaveOut,DevsNum,lpFormat,NULL,NULL,CALLBACK_NULL)!=0) { //Failed to OPEN the wave out devices } //准备待播放的数据 pWaveOutHdr.lpData =(HPSTR)lpData; pWaveOutHdr.dwBufferLength =m_WaveLong; pWaveOutHdr.dwFlags =0; if(waveOutPrepareHeader(hWaveOut,&pWaveOutHdr,sizeof(WAVEHDR))!=0) { //Failed to prepare the wave data buffer } //播放音频数据文件 if(waveOutWrite(hWaveOut,&pWaveOutHdr,sizeof(WAVEHDR))!=0) { //Failed to write the wave data buffer } //关闭音频输出设备,释放内存 waveOutReset(hWaveOut); waveOutClose(hWaveOut); LocalUnlock(m_hFormat); LocalFree(m_hFormat); delete [] lpData; 说明:1)以上使用的音频设备和声音文件操作函数的声明包含在mmsystem.h头文件中,因此在程序中必须用#include "mmsystem.h"语句加入头文件。同时在编译时要加入动态连接导入库winmm.lib,具体实现方法是从Developer Studio的Project菜单中选择Settings,然后在Link选项卡上的Object/Library Moles控制中加入winmm.lib。2)在pWaveOutHdr.lpData中指定不同的数据,可以播放音频数据文件中任意指定位置的声音。3) 以上程序均在VISUAL C++6.0中调试通过,在文中省略了对错误及异常情况的处理,在实际应用中必须加入。 ??
四.结论
在VISUAL C++中可以根据应用需要采用不同的方法播放声音文件。简单应用可以直接调用声音播放函数。第二种方法可以把声音作为资源加入可执行文件中。如果在播放之前要对声音数据进行处理,可用第三种方法。
五.Visual C++.NET
随着NET的时代来临,VISUAL C++也如同VB一样,脱胎换骨到VISUAL C++.NET
相关资料?
资料1?
Visual C++ 6.0 简体中文企业版集成SP6完美版 Visual C++ 6.0 英文企业版集成SP6完美版 Visual Studio 6.0 英文企业版集成SP6完美版 钱能 c++程序设计教程第二版高清PDF版 Essential C++ 中文版+英文版 侯捷译 编程点金之Visual C++(电子教程) iso C++程序调试实用手册 PDF版下载 C++面向对象多线程编程 PDF版下载
资料2?
C++高级编程参考手册 C和C++代码精粹 C++沉思录 C++ Primer 第三版 C++ Primer 第四版中文版高清晰 高质量C++编程指南 C++ 编程思想第1卷标准C++导引 C++ 编程思想第2卷实用编程技术 More Effective C++ 简体中文版
资料3?
C++ Templates 中文版+英文版 C++ Coding Standards[Addison Wesley] Absolute C++ 全彩页代码剖析 Accelerated C++ - Practical Programming by Example Inside the C++ Object Model More Exceptional C++ [Addison Wesley] Exceptional C++ [Addison Wesley] Sams出版 C++ Unleashed C++ GUI Programming with QT4
资料4?
VISUAL C++深入详解 孙鑫作品系列高清PDF版下载 Visual C++ 6傻瓜书快速参考 Visual C++ 6.0 编程实例与技巧(PDF中文版) Visual C++ 21天自学教程 跟我学Visual C++ 6 Visual C++ 6 数据库编程 21天自学教程 CHM The C++ Programming Language 第三版 深度探索C++对象模型 Special Edition Using Visual C++ 6 Professional MFC with VISUAL C++ 6
资料5?
Practical C++ Programming Cross-Platform Development in C++ Iterative UML Development Using VISUAL C++ 6 Ace Programmer's Guide Visual C++高级界面特效制作百例 精通GDI+编程 清华大学出版 Borland C++ Builder 6 开发指南 CHM 孙鑫C++视频教程 rmvb格式全20CD完整版 C++视频教程边用边学Visual C++ 6 (ASF格式) 中山大学蔡培兴 C++语言视频教程全51讲精品推荐 C++程序设计视频教程 东南大学何洁月主讲全80讲(上) 48讲 C++程序设计视频教程东南大学何洁月主讲全80讲(下) 32讲词条图册更多图册
F. 微信小程序有前景么应该怎么运作
就目前来看小程序是未来的趋势,但是不管你做的什么行业,只要你面对的是客户,我觉得做小程序都不会是错的,因为小程序最直接的就是轻便,不用下载,不用安装,扫码就用,用完就走,不占内存,对于客户来说,谁不愿意呢,节约了客户大把的时间,大大的方便了客户和商家。
对于企业来说,用小程序推广,提高品牌知名度是见效最快,成本最低的好办法,同时,小程序还可以作为企业的手机网站,手机电商,手机图册等等,方便客户对企业的深度了解。
对于商家来说最直观的就是赚钱,省钱,为什么这么说,第一为商店带来客流量,比如说方圆五公里的微信用户都能直接快速的找到商家的地址,商家的产品,可以直接在小程序里面,下单,预约,排号等等,还可以通过一些优惠活动吸引很多新顾客。第二是可以为商家省掉一大笔的平台抽点费用,客户都是小程序上慕名而来的,小程序是自己制作的平台,不需要给任何平台点数。第三就是客户管理,客户数据都抓在自己的手里,方便自己管理。
G. 用惯了手机上的日历再看纸质日历很难受怎么办
其实写实体日历的小伙伴还是挺多的,就拿我身边的来说,我们办公室,主管以及以上职位的都喜欢用日历,为什么了?发方便写了事情,可以随时随地都看得到,把需要做的事情放到很显眼的位置,这样对于工作就非常的方便。
当然这个只是一小部分,还有很多小伙伴喜欢把用日历记录事情,这个或许是来自古老的传承,这样去操作更方便自己的操作。
还有的小伙伴喜欢用日历,更多的是这种形式,给予一种特别的感觉。
这里也推荐一些有趣且有创意的日历,分享实体日历,加大日常的一些小趣味
提起小日历app,大家都知道,有人问小米手机日历功能现在越来越不好用了。有新的日历APP推荐吗?,另外,还有人想问安卓系统上有哪些好用的日历App?,你知道这是怎么回事?其实手机日历软件哪个好用?求推荐,下面就一起来看看小米手机日历功能现在越来越不好用了。有新的日历APP推荐吗?,希望能够帮助到大家
H. 我怎么看不懂超能查派,讲的是什么
迪恩向米歇尔·布莱德利寻求支持未果,转而利用公司的设备自行开始制造和实验,并成功地将拥有人工智能的机器人“查派”带到了这个世界。查派性格天真可爱,像个孩子一样不断学习,然而能够语言,能够思想,能够作画的机器人,引发了米歇尔·布莱德利,以及文森特(休·杰克曼饰)的恐慌,文森特驾驶机器战士找到迪恩,意欲除掉机器人查派,人类与机器之间的大战再度爆发。
《[超能查改轮派]》网络网盘高清免费资源在线观看
链接:https://pan..com/s/16JyUp33PXhSNKCOFeUSQ
提取码:zdx6
故事发生在2016年的南非约翰内斯堡,为了应对不断攀升的犯罪率,某大型武器公物模司开发了全机械警察部队。他们将机械警察批量生产并投入使用,在打击犯罪方面取得了令人瞩目的效果。作为开发人员之一,程序员迪恩(戴夫·帕特尔 Dev Patel 饰)一直罩歼缓致力于制造出完全的人工智能机器人。
I. 微软的发展史
微软公司是世界PC机软件开发的先导,比尔·盖茨是它的核心。微软公司1981年为IBM-PC机开发的操作系统软件MS-DOS曾用在数以亿计的IBM-PC机及其兼容机上。但随着微软公司的日益壮大,Microsoft与IBM已在许多方面成为竞争对手。1991年,IBM公司和苹果公司解除了与微软公司的合作关系,但IBM与微软的合作关系从未间断过,两个公司保持着既竞争又合作的复杂关系。微软公司的产品包括文件系统软件(MS-DOS和Xenix)、操作环境软件(窗口系统Windows系列)、应用软件MS-Office等、多媒体及计算机游戏、有关计算机的书籍以及CDROM产品。1992年,公司买进Fox公司,迈进了数据库软件市场。
1975年,19岁的比尔·盖茨从哈佛大学退学,和他的高中校友保罗·艾伦一起卖BASIC语言程序编写本。当盖茨还在哈佛大学读书时,他们曾为MITS公司的Altair编制语言。后来,盖茨和艾伦搬到阿尔伯克基,并在当地一家旅馆房间里创建了微软公司。1979年,MITS公司关闭,微软公司以修改BASIC程序为主要业务继续发展。
1977年,微软公司搬到西雅图的贝尔维尤(雷德蒙德),在那里开发PC机编程软件。1980年,IBM公司选中微软公司为其新PC机编写关键的操作系统软件,这是公司发展中的一个重大转折点。由于时间紧迫,程序复杂,微软公司以5万美元的价格从西雅图的一位程序编制者帕特森手中买下了一个操作系统的使用权,再把它改写为磁盘操作系统软件(MS-DOS)。公司目前在60多个国家设有分支办公室,全世界雇员人数接近44,000人。
IBM-PC机的普及使MS-DOS取得了巨大的成功,因为其他PC制造者都希望与IBM兼容。MS-DOS在很多家公司被特许使用,因此80年代,它成了PC机的标准操作系统。到1984年,微软公司的销售额超过1亿美元。随后,微软公司继续为IBM、苹果公司以及无线电器材公司的计算机开发软件,但在91年后,由于利益的冲突,IBM、苹果公司已经与Microsoft反目。1983年,保罗·艾伦患霍奇金氏病离开微软公司,后来成立了自己的公司。艾伦拥有微软公司15%的股份,至今仍列席董事会。1986年,公司转为公营。盖茨保留公司45%的股权,这使其成为1987年PC产业中的第一位亿万富翁。1996年,他的个人资产总值已超过180亿美元。1997年,则达到了340亿美元,98年超过了500亿大关,成为理所当然的全球首富。
微软的拳头产品Windows98/NT/2000/Me/XP/Server2003成功地占有了从PC机到商用工作站甚至服务器的广阔市场,为微软公司带来了丰厚的利润:公司在Internet软件方面也是后来居上,抢占了大量的市场份额。在IT软件行业流传着这样一句告戒:“永远不要去做微软想做的事情”。可见,微软的巨大潜力已经渗透到了软件界的方方面面,简直是无孔不入,而且是所向披靡。微软的巨大影响已经对软件同行构成了极大的压力,也把自己推上了反垄断法的被告位置。连多年来可靠的合作伙伴Intel也与之反目,对薄公堂。2001年9月,鉴于经济低迷,美国政府有意重振美国信息产业,拒绝拆分微软。至此,诉微软反垄断法案告一段落。
微软的组织结构支持公司包括以下核心业务组:个人服务组(PSG):由集团副总裁Bob Muglia领导,致力于为个人用户和商业用户提供更容易的在线连接,并且为各种各样的设备提供软件服务。PSG包含了微软的个人.NET倡议、服务平台部、移动组、MSN的互联网访问服务、用户设备组以及用户界面平台部。
MSN和个人服务业务组:由副总裁Yusuf Mehdi领导,负责网络程序开发、业务发展以及MSN和微软其它服务世界范围内的市场和销售,包括:MSN eShop, MSN Carpoint, MSN HomeAdvisor, the MSNBC venture, Slate和MSNTV平台组,由集团副总裁Jim Allchin领导,负责在各个方面不断对Windows平台做出改进–例如把存储、通讯、消息通知、共享图象及听音乐等变为Windows经历的自然扩展。此外,本组包括.NET企业服务器组、开发工具部和Windows数字媒体部。
办公和商务服务组:由集团副总裁Jeff Raikes领导,负责开发提高生产力和商业流程的应用和服务。工作包括将功能完善且性能强大的Microsoft Office逐步演化为以服务于基础的产品。除Office部门之外,商用工具部门,包括bCentral和Great Plains的商用应用程序部门都将属于该部门。
全球销售、市场和服务组:由集团副总裁Orlando Ayala领导,集成了微软的销售和服务伙伴,以满足世界范围内微软用户的需要。这些用户包括:企业用户、中小型组织、教育机构、程序开发人员和个人用户。此外,本组包括微软产品支持服务、网络解决方案组、企业伙伴组、市场营销组织和微软全球三大地区的业务组织。
微软研究院(MSR):由资深副总裁Rick Rashid领导,负责对今天或明天的计算课题提出创造性的建议和解决方案,使计算机变得更加易于使用。同时负责为下一代的硬件产品设计软件,改进软件设计流程和研究计算机科学的数学基础。关于MSR更详细的信息可参见Microsoft Research Web page。
运营组:由总裁和首席运营官Rick Belluzzo领导,负责管理商业运作和全部的商业计划。包括公司的财政、行政管理、人力资源和信息技术部门。
微软公司(NASDAQ:MSFT, HKEx: 4338)是全球最大的电脑软件提供商,总部设在华盛顿州的雷德蒙市(Redmond,大西雅图的市郊)。公司于1975年由比尔·盖茨和保罗·艾伦成立。公司最初以“Micro-soft”的名称(意思为“微型软件”)发展和销售BASIC解释器。最初的总部是新墨西哥州的阿尔伯克基。史蒂夫·巴尔默(Steve Ballmer)是现在的首席执行官。
使得微软如此令人瞩目的原因有以下一些:
它是全球最大的电脑软件公司在经济学,它是一个惊人的网络外部性的例子它在操作系统和办公软件方面扮演着事实上的垄断者地位它使得它的创立者跻身于世界上最富有的人之列;特别是掌门人比尔·盖茨多年来位居世界首富任何公开买卖公司中,它有最大的公司市值多年来它官司不断,和业界其他公司的明争暗斗已经成为IT文化的一部分。
微软的产品微软生产的软件产品包括了很多的种类:
Windows -称为“视窗”的图形操作系统;它有很多版本。目前桌上版最新版本是Windows XP,服务器最新版本是Windows Server 2003。Windows几乎预装在所有的IBM兼容的个人电脑上。请参看Microsoft Windows的历史获取更多详细资料。
MS-DOS -微软公司的早期产品,它是一个命令行界面。早期的Windows版本要在MS-DOS下运行,但是到了Windows NT以及以后的产品已经可以脱离MS-DOS运行了,但基于用户因软硬件在Windows NT不能正常运作,微软同时间继续推出Windows 95, Windows 98, Windows Me在MS-DOS下运行的过渡产品。
Microsoft Office -它是微软公司的办公软件套件,根据版本不同可能包括Word(文字处理)、Excel(试算表)、Access(桌面数据库)、PowerPoint(幻灯片制作)、Outlook(个人邮件和日程管理)、Project(项目管理)和Publisher(电子排版)等软件。微软也为Apple Macintosh生产使用于苹果电脑的版本。
Internet Explorer -它是微软的网页浏览器。它是目前世界上使用最广泛的一种浏览器,从Windows 95开始,被设置为微软各版本的Windows的默认浏览器。它在Apple Macintosh上也可以使用。微软投资了四亿美元来把这种浏览器预装在苹果机上。
Microsoft FrontPage -它是一款所见即所得的网页编辑软件。
Windows Media Player -它是一个用于播放音频和视频的程序。
微软也生产一系列参考产品,例如网络全书和地图册,使用Encarta的名称。
微软还开发用于应用系统开发的集成开发环境,命名为Microsoft Visual Studio。目前已发布用于.NET环境编程的相应开发工具Visual Studio .NET。
游戏帝国时代(Age of Empires)微软模拟飞行(Microsoft Flight Simulator)微软模拟火车微软模拟货车Halo(Halo) halo2(Halo2)注:《光环》为Microsoft旗下工作室开发.“生态体系”
微软公司试图在其产品周围建立“生态体系”,以为其产品以及品牌增值。
网络产品1990年代中期,微软开始将其产品线扩张到计算机网络领域。微软在1995年8月24日推出了在线服务MSN(Microsoft Network,微软网络)。MSN是美国在线的直接竞争对手,也是微软其他网络产品的主打品牌。
1996年,微软以及美国的广播业巨擎NBC(国家广播公司)联合创立了MSNBC,一个综合性的24小时新闻频道以及在线新闻服务供应商。
1997年末,微软收购了Hotmail,最早以及最受欢迎的webmail服务商。Hotmail被重新命名为MSN Hotmail,并成为.NET Passport,一个综合登入服务系统的平台。
MSN Messenger是一个即时信息客户程序,由微软在1999年推出,是美国在线的AOL Instant Messager(AIM)及ICQ的主要竞争对手。
培训微软创立了多所培训中心,旨在训练出一批低成本、只精通微软产品的雇员。最着名的就是MCSE考核(全称“微软认证系统工程师”)。虽然MCSE确实认证对微软产品的熟悉程度,它却并不是一个工程师的考核。一些苛刻的评论人员将MCSE称作“必须咨询那些有经验的人”(“Must Consult Someone Experienced”)。
硬件产品虽然微软总体上是一家软件公司,它也生产一些电脑硬件产品,通常用来支援其特殊的软件商品策略:
早期的一个例子是微软鼠标,用来鼓励更多用户使用微软操作系统的图形用户界面(GUI)。由于使用GUI而不用到鼠标是很罕见的,因此鼠标的流行会帮助更多用户使用Windows。微软确立了IntelliMouse(中键带滚轮的鼠标)鼠标标准,新增的滚轮方便了用户在浏览网页时上下翻页。
微软还售卖游戏杆等游戏硬件产品。
公司还购买了互联网设备公司WebTV,以支援其MSN互联网服务。
2001年公司推出的Xbox游戏机标志着公司开始进入价值上百亿美元的游戏终端市场,这个市场之前一直由索尼公司(Sony)和任天堂(Nintendo)两家公司主导。
微软历史微软公司创立于1975年,公司创立初期以销售BASIC解译器为主。当时的计算机爱好者也常常自行开发小型的BASIC解译器,并免费分发。然而,由于微软是少数几个BASIC解译器的商业生产商,很多家庭计算机生产商在其系统中采用微软的BASIC解译器。随着微软BASIC解译器的快速成长,制造商开始采用微软BASIC的语法以及其他功能以确保与现有的微软产品兼容。正是由于这种循环,微软BASIC逐渐成为公认的市场标准,公司也逐渐占领了整个市场。此后,他们曾经(不太成功地)试图以设计MSX家庭计算机标准来进入家用计算机市场。
1983年,微软与IBM签订合同,为IBM PC提供BASIC解译器,之后微软又向IBM的机器提供操作系统。微软之后购买了Tim Patterson的QDOS使用权,在进行部分改写后通过IBM向市场发售,将其命名为Microsoft DOS。MS-DOS获得了巨大的成功。
PC硬件上运行的程序在技术上并不一定比其所取代的大型程序要好,但它有两项无法超越的优点:它为终端用户提供了更大的自由,而且价格更低廉。微软的成功也是个人电脑发展的序幕。
微软开发过多种软件产品,包括了:
操作系统程序设计语言的编译器以及解译器文字处理器、数据表等办公软件互联网客户程序,例如网页浏览器和电邮客户端等这些产品中有些十分成功,有些则不太成功。从中人们发现了一个规律:虽然微软的产品的早期版本往往漏洞百出,功能匮乏,并且要比其竞争对手的产品差,之后的版本却会快速进步,并且广受欢迎。今天,微软公司的很多产品在其不同的领域主宰市场。
微软花了大量的精力在市场营销以及产品开发中的可重用工程,并且试图将其产品进一步组合,以提供用户一贯的开发环境。
微软也试图将Windows这个着名品牌扩展到其他领域,例如用于PDA的Windows CE以及“支持Windows”的Smartphone产品。
公众看法很长一段时间内,微软被广泛认可为一个计算机软件市场上的“乖小孩”,提供低廉的软件以取代原先价格高昂的主流UNIX产品。微软也因赚入大笔钞票而受到钦佩。
然而,即使是在早期,微软被指责故意将其MS-DOS与竞争对手生产的Lotus 1-2-3数据表无法兼容。到90年代,微软是“坏小孩”的看法日益增多。主要的批评意见是他们利用在桌上电脑市场上的优势不公平地剥削用户。
最近几年,有人指责微软涉嫌一系列合法性受怀疑的商业行为。
垄断问题微软的Windows产品有效地垄断了桌面电脑操作系统市场。那些持上述看法的人指出,几乎所有市场上出售的个人电脑都预装有微软的Windows操作系统。
一些观察家声称,微软作为一个垄断企业令其竞争对手处境窘困:
一方面,竞争对手不愿意承认微软的垄断地位。因为在一个被垄断的市场,只有一家产品或服务的提供商。因此对竞争对手而言,将微软称为垄断者会将自己置于一个失败者的境地:这样作等于是否定了自己的存在,或否定了自己能够生存、竞争的能力。
另一方面,竞争对手又希望将微软比作垄断企业,因为这样做会给自己带来好处。首先,这有可能导致市场管理者(政府)的介入。其次,被看作是“落水狗”的微软竞争对手有可能在公共关系上取胜,以刺激销售。
无论微软是否是垄断企业,我们可以肯定的是:
在多数微型电脑软件市场,微软是主导企业。这种主导引发很多的不满。
这种不满不仅仅只存在于竞争对手中间。
微软垄断地位的滥用有人批评认为微软试图利用其在桌上计算机操作系统市场上的垄断地位来扩大其在其他市场上的市场份额,例如网页网页浏览器(Internet Explorer),服务器操作系统(Windows NT),办公软件(Microsoft Office),多媒体播放软件(Windows Media Player)。
在微软将Internet Explorer与Windows操作系统捆绑销售后,微软在浏览器市场获得了非常大的份额。正是部分由于这种行为,微软被美国联邦法庭裁定滥用其在美国的操作系统市场的主导优势。(详情参见微软反垄断案)。
在所有这些指控中,微软以满足客户需求为由为自己辩护。
也有人批评微软的“包围再扩展”(embrace and extend)的策略。微软试图在开放、已确立的标准之上加入专利功能,以最终达到利用其市场优势来控制“扩展”的标准。有些人将这种策略称之为“包围、扩展再毁灭”(embrace, extend and extinguish)。
安全性2002年,微软的多项网络以及互联网相关的产品在多次出现安全漏洞后被广受讨论。一些恶意的程序员不断利用微软软件的安全漏洞搞破坏,例如通过互联网创造及发布能够消耗系统资源或破坏数据的蠕虫、病毒以及特洛伊木马。这些破坏行为一般的目标是微软的Outlook以及Outlook Express电邮客户程序,Internet Information Server(IIS)网页服务器,以及SQL Server数据库服务器软件。微软辩解说由于其在互联网软件市场上的领导地位,自然而然的微软的产品会遭到更多的攻击,因为这些微软产品被广泛使用。而有人则反驳说这些攻击也对准那些微软并不占优势的产品,显示微软的产品要比其竞争对手的产品在安全性上要低一筹。
在一些案例中,微软的产品为了让新手更容易使用、设置往往导致了这些蠕虫及病毒的散播。例如,微软的Windows操作系统自1995年起就自动隐藏文件后缀名(档案副档名),这样那些恶意攻击者往往就能够让email收信人打开一些看起来普通却十分危险的附件(最近版本的Outlook以及Outlook Express禁止接收危险的文件类型,这样用户便无法打开)。批评指出微软是在用软件的易用性交换安全性。
盖茨在2002年1月启动了可信赖计算计划(Trustworthy Computing Initiative)。他将其形容为一个长期的、全公司性的计划,以寻找并修正微软产品中的安全以及泄漏隐私方面的漏洞。在该计划下,公司会重新评估和设计原先的一些规范及过程,也延迟了Microsoft Windows Server 2003的上市时间。对可信赖计算计划的反应各不相同,有观察家表扬微软对安全问题的重视,但也提醒公司还有很多工作要做。
微软的政治影响力微软对这些法律威胁以及公众看法的反应就是紧凑的政治游说活动以及撒入上百万美元的政治捐款。根据政治反应中心(Center for Responsive Politics, opensecrets.org)网站的数据,微软在上一次的美国联邦选举的政治捐款中,43%给了民主党,57%给了共和党。
微软产品的优点微软产品的主要优点是它的普遍性,让用户从所谓的网络效应中得益。例如,Microsoft Office的广泛使用使得微软Office文件成为文档处理格式的标准,这样几乎所有的商业用户都离不开Microsoft Office。
微软的软件也被设计成容易设置,允许企业雇佣低廉、水准并不太高的系统管理员。微软的支持者认为这样做的结果是下降了的“拥有总成本”。
微软的软件对IT经理们在采购软件系统时也代表了“安全”的选择,因为微软软件的普遍性让他们能够说他们跟随的是被广泛接受的选择。这对那些专业知识不足的IT经理来说是一个特别吸引人的好处。
微软产品的缺点微软的产品十分倚赖软件的重用。虽然这样做对快速软件开发是十分有效的,它却导致了不同软件包之间的复杂倚赖关系。这可能导致的后果是,举个例子,当微软的浏览器程序崩溃时,会导致操作系统的GUI同样崩溃。
同样的倚赖关系也意味着大多数微软软件的资源能够在其他微软的产品上使用。也就是说,大多数程序可以运行其他程序,即使是在不应当发生类似情况时也是如此。例如,嵌入在电子邮件的文档和HTML中的宏可以运行程序,允许攻击者控制用户的电脑。微软在安全问题上的立场就是“不是禁止就是允许”(permitted unless forbidden)。
这些问题从专门攻击微软程序的蠕虫以及病毒的泛滥中就可见一二。
上面所提到的关于允许雇佣廉价却未有良好训练的系统管理员的优点有可能导致以下问题:
更大的不可靠性,意味着你需要雇佣更多的这类管理员;有可能导致安全漏洞,因为不管使用什么操作系统,只有受良好训练的系统管理员才可能提升系统安全性。
微软的批评者指出运行微软的产品需要花费更大代价,因为微软软件的用户事实上并不拥有他们所使用的软件:这对微软的商业模式是十分重要的。
微软与自由软件的关系微软将自由软件看作是它可能的主要竞争对手,特别是Linux。从万圣节文件(Halloween documents)中我们可以看到,微软已经对自由软件以及开放源代码软件采取了“包围、扩展、毁灭”的策略。
为了在桌上电脑市场上建立其领导地位,微软冒着失去低廉价格以及更多自由度——这正是个人电脑快速发展以及微软自身成功的重要因素——风险。单就价格层面而言,微软很难与自由软件相抗衡。很多相信微软并没有赋予他们选择自由的用户已经从自由软件那里找到了他们所渴望的自由已经开放标准。
传统的微软策略,例如购买竞争对手,或者FUD策略,对于自由软件而言毫无作用。因为自由软件无法被收购或控制,自由软件即使失去了创造它的公司也依然能够生存。
微软首席行政执行官史蒂夫·巴尔默已经将Linux称作一个“坚强的竞争力量……它是非传统的,自由的,而且很便宜。我们必须告诉人们,为什么他们所付(给我们的)其实物超所值。我们的产品曾经都很便宜。我们要比Novell,甲骨文都要便宜。但这次我们不能这样办。”(CRN.com报道,2002年6月17日)
巴尔默在一个微软伙伴的会议上说:“我们曾经十分自豪,自己提供最便宜的产品——我们的价格最低,提供的内容却最多,不论是Novell,Lotus还是其他任何人都比不过我们。但现在我们面临的,是一个独特的竞争对手,Linux。对我们这样的公司而言,这实在是一种新的思考方式。”(VARbusiness 2002年7月15日报道)
对于那些预装Linux的低廉个人电脑,微软的反应是他们不会降低Windows的销售价格。一些观察家指出,这种拒绝进行价格战的行为正是垄断企业的特点。
微软亚洲研究院1998年11月5日,微软公司在北京成立微软中国研究院,并于2001年11月1日将其正式更名为微软亚洲研究院。微软亚洲研究院是微软公司在海外开设的第二家基础科研机构,也是亚洲地区唯一的基础研究机构。
J. ‘VGATE_PWRGD ’全称是什么意思 中文简意是何意
VGA(Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。
目录
简 介
VGA原理VGA显示与VGA时序实现
1 VGA时序分析
2 VGA时序实现
3 读SRAM地址的产生方法
4 数据宽度和格式
功能单元设计
1 控制器
2 显示数据缓存区
3 数模转换器DAC
4 数据源及其接口
显存数据更新与显示的同步实现
嵌入式VGA显示系统
内存寻址
程序技巧
技术性细节
VGA文字模式
VGA色版
VGA显示标准
VGA显示模式
VGA接口
VGA数据线
VGA接口相关产品简 介
VGA原理 VGA显示与VGA时序实现
1 VGA时序分析
2 VGA时序实现
3 读SRAM地址的产生方法
4 数据宽度和格式
功能单元设计
1 控制器
2 显示数据缓存区
3 数模转换器DAC
4 数据源及其接口
显存数据更新与显示的同步实现
嵌入式VGA显示系统
内存寻址
程序技巧
技术性细节
VGA文字模式
VGA色版
VGA显示标准
VGA显示模式VGA接口VGA数据线VGA接口相关产品展开 编辑本段简 介
VGA(Video Graphics Array)即视频图形阵列,是IBM在1987年随PS/2机(PS/2 原是“Personal System 2”的意思,“个人系统2”,是IBM公司在1987年推出的一种个人电脑。PS/2电脑上使用的键盘鼠标接口就是现在的PS/2接口。因为标准不开放,PS/2电脑在市场中失败了。只有PS/2接口一直沿用到今天。)一起推出的使用模拟信号的一种视频传输标准,在当时具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。这个标准对于现今的个人电脑市场已经十分过时。即使如此,VGA仍然是最多制造商所共同支持的一个标准,个人电脑在加载自己的独特驱动程序之前,都必须支持VGA的标准。例如,微软Windows系列产品的开机画面仍然使用VGA显示模式,这也说明其分辨率和载色数的不足。 VGA最早指的是显示器640X480这种显示模式。 VGA 公插头(通常位于显示器侧)
VGA技术的应用还主要基于VGA显示卡的计算机、笔记本等设备,而在一些既要求显示彩色高分辨率图像渣改又没有必要使用计算机的设备上,VGA技术的应用却很少见到。本文对嵌入式VGA显示的实现方法进行了研究。 基于这种设计方法的嵌入式VGA显示系统,可以在不使用VGA显示卡和计算机的情况下,实现VGA图像的显示和控制。系统具有成本低、结构简单、应用灵活的优点,可广泛应用于超市、车站、飞机场等公共场所的广告宣传和提示信息显示,也可应用于工厂车间生产过程中的操作信息显示,还能以多媒体形式应用于日常生活。
编辑本段VGA原理
VGA显示与VGA时序实现
通用VGA显示卡系统主要由控制电路、显示缓存区和视频BIOS(Basic Input Output System即基本输入输出系统)程序三个部分组成。控制电路如图1所示。控制电路主要完成时序发生、显示缓冲区数据操作、主时钟选择和D/A(Digital to Analog即将数字信号转换为模拟信号)转换等功能;显示缓冲区提供显示数据缓存空间;视频BIOS作为控制程序固化在显示卡的ROM(Read-Only Memory即只读存储器)中。
1 VGA时序分析
通桐大过对VGA显示卡基本工作原理的分析可知,要实现VGA显示就要解决数据来源、数据存储、时序实现等问题,其中关键还是如何实现VGA时序。 VGA的标准参考显示时序如图2所示。行时序和帧时序都需要产生同步脉冲(Sync a)、显示后沿(Back porch b)、显示时序段(Display interval c)和显示前沿(Front porch d)四个部分。几种常用模式的时序参数如表1所示。
2 VGA时序实现
首先,根据刷新频率确定主时钟频率,然后由主时钟局梁竖频率和图像分辨率计算出行总周期数,再把表1中给出的a、b、c、d各时序段的时间按照主计数脉冲源频率折算成时钟周期数。在CPLD中利用计数器和RS触发器,以计算出的各时序段时钟周期数为基准,产生不同宽度和周期的脉冲信号,再利用它们的逻辑组合构成图2中的a、b、c、d各时序段以及D/A转换器的空白信号BLANK和同步信号SYNC。 VGA参考时序
3 读SRAM地址的产生方法
主时钟作为像素点计数脉冲信号,同时提供显存SRAM的读信号和D/A转换时钟,它所驱动的计数器的输出端作为读SRAM的低位地址。行同步信号作为行数计数脉冲信号,它所驱动的计数器的输出端作为读SRAM的高位地址。由于采用两片SRAM,所以最高位地址作为SRAM的片选使用。由于信号经过CPLD内部逻辑器件时存在一定的时间延迟,在CPLD产生地址和读信号读取数据时,读信号、地址信号和数据信号不能满足SRAM读数据的时序要求。可以利用硬件电路对读信号进行一定的时序调整,使各信号之间能够满足读SRAM和为DAC输入数据的时序要求。
4 数据宽度和格式
如果VGA显示真彩色BMP图像,则要R、G、B三个分量各8位,即24位表示一个像素值,很多情况下还采用32位表示一个像素值。为了节省显存的存储空间,可采用高彩色图像,即每个像素值由16位表示,R、G、B三个分量分别使用5位、6位、5位,比真彩色图像数据量减少一半,同时又能满足显示效果。
功能单元设计
实现VGA显示,除了实现时序控制,还必须有其他功能单元的支持才能实现完整的图像显示。
1 控制器
VGA显示有多种模式,需要通过控制器实现模式间切换,还需要对显示的内容进行接收、处理和显示。所以控制器的性能越高,数据更新和显示效果就越好。
2 显示数据缓存区
VGA显示要求显存速度快、容量大。读速度要达到65MHz以上,存储容量至少要2MB。可采用高速SRAM或SDRAM作为显示数据缓存。
3 数模转换器DAC
VGA显示对数模转换DAC有如下要求:一是高速转换,转换的速度应该在80MHz或以上;二是同步性好,能保证 R、G、B三路信号的同步性;三是有相应的精度。可选择一种包括3路8位高速D/A的专用视频芯片。
4 数据源及其接口
要提高VGA显示的效率,就要不断更新数据,同时还要保证实时性,因此需要非常高的接口速度。VGA显示卡虽可达到100Mbps的数据更新速度,但是一般设备、特别是嵌入式设备达不到这么高的速度,而且大多数情况下也不需要这么高的数据更新率。目前常用接口为EPP接口、USB接口、 TCP/IP、RS232C/485等。其中TCP/IP、EPP接口和USB接口是基于计算机的,速度较快;TCP/IP、RS232C/485是基于网络通信的接口,其中RS485速度虽慢,但应用广泛且容易实现远程控制。 VGA显示硬件结构框图
在数据源为低速接口时,可以考虑采用 Flash或者SM存储卡等预先存储一些常用的图像显示数据和字库文件,在更新数据时直接应用这些数据,从而加快显示缓存的更新速度。这样既能满足高分辨率图像的显示,又能满足文字信息数据的快速更新。刚时为了存储更多的图像,可以先存储JPEG格式图像,再由控制器解码成BMP位图图像后送到显示缓存显示,这样就相对扩展了Flash的存储空间。同时,由于图像的解码速度要大大快于数据源接口的速度,也就相应提高了显示缓存的数据更新速度。 由各功能单元组成的VGA显示硬件结构框图如图3所示。
显存数据更新与显示的同步实现
在VGA显示时,要考虑如何实现显存数据更新与显示的同步进行。解决的方案有以下几种: (1) 采用具有缓存作用的双口RAM,这种方法使用的器件数量多、功耗大、成本高,基本不可取。 (2) 采用两组SRAM进行乒乓工作模式,一组SRAM用于显示的同时,另一组SRAM用于图像数据的更新,然后在两组SRAM之间切换。这样做会提高一些成本,而且需要更复杂的总线控制。 (3) 利用FPGA/CPLD和SDRAM构造双口SRAM。这种方法实时性好,成本较低,时序控制比较复杂,它是 实现高性能低成本要求的最佳方案。 (4) 采用一组SRAM作为显存,可以简化系统设计、降低成本。这时可以考虑利用行时序和帧时序中SRAM总线空闲的时序段,在不关闭图像显示的情况下实现显存SRAM的数据更新。该方法的更新率与数据写速度密切相关,显存的写数据速度越快,该方法的更新率就越高。 假设CPU的工作时钟最大为60MHz,并采用JPEG解码更新方式。这时如果将解码缓存区分配在CPU片内内存,则更新数据时直接由内存向 SRAM写数据,一次需要0.17μs;如果将解码缓存区分配在片外空间,则更新数据时CPU要先从片外读数据,再向SRAM写数据,这样写一次需要 0.25μs。在相邻显示的两帧图像只存在局部差别或更新文本显示信息时,可使用局部数据更新方法,以提高更新率。表2给出了显示每帧图像包含的总线空闲时间,以及在不同解码缓存区分配方式下图像全部更新和10%局部更新的帧率。这里提到的帧率是指对显存数据的更新速度,而不是指图像的屏幕刷新率,它对刷新率没有影响。
嵌入式VGA显示系统
基于以上方案设计的嵌入式VGA显示系统在只有系统控制板和CRT显示器的情况下实现了嵌入式高分辨率VGA显示。 通过对嵌入式VGA显示系统的设计分析和实际使用,得到如下结论: (1) 由于VGA显示是一个高速过程,所以选择器件时要选择高速器件。 (2) VGA显示时序要求较严格,时序中的前后沿及同步脉冲宽度都要依照严格的参考数据设置。 (3) 在一般情况下,由于数据接口的限制,数据更新率不能达到计算机的水平。通过一些特殊设计,还是能够满足大多数嵌入式VGA的需求。 (4) 性能、成本和复杂度要综合考虑,要以系统的实际需求为目标,采用合理而实用的设计方案。
编辑本段内存寻址
VGA所使用的视讯内存,透过一个窗口对应于PC的主内存,它们的真实位址为0xA000和0xC000之间的内存。典型地来说位址的开始点是: * 0xA000 使用于 EGA/VGA 图型模式(4 KB) * 0xB000 单色文字模式(2 KB) * 0xB800 彩色文字模式和 CGA 相容模式(2 KB) 由于使用的区段皆不相同,在同一部机器上装置一个单色显卡(MDA)和另一个彩色显卡(VGA、EGA或CGA)是不冲突的。在 1980 年代初,这种典型的搭配方式用于 Lotus 1-2-3 试算表上,一部高解析单色屏幕用来显示文字,而另一部低解析的 CGA 屏幕用来显示图表。许多程式设计师也用这种配置来开发软件,一部屏幕显示 debug 细节,另一部屏幕则显示真正的软件运行画面。许多商业的除错软件都支持这种配置,例如 Borland 的 Turbo Debugger、由 Alan J. Cox 开发的 D86、微软的 CodeView 等,Turbo Debugger 和 CodeView 可以甚至可拿来 debug 微软的 Windows 软件。也有 DOS 驱动程式如ox.sys模拟一个终端机来接受 Windows 的 debug 讯息,而不用真正接上另一个终端机。在 DOS 底下使用“单色模式”指令,使其输出转向单色也是可能的。另外,假如电脑上并无单色显卡,那么可以使用 EMM386.EXE 程序让其他程式可以使用 B000-B7FF 这一段内存。(于 config.sys 档案中加入 "DEVICE=EMM386.EXE I=B000-B7FF")
编辑本段程序技巧
一个未被纪录但十分广泛使用的技术称作 Mode X(由 Michael Abrash 导入),使程式设计师能够使用在 Mode 13h 之下无法做到的分辨率。他将 256 KiB 连续的视讯内存“解开”并分成四个层次,因此在 256 色模式时全部 256 KB 的内存都可以使用。技术上这将使得处理变得更复杂,并且效能降低。但在一些特殊情况下,效能损失的情况可以被弥补: * 单色的多边形填色增快,因为一次写入可以设定四个像素。 * VGA 可以用来协助视讯内存之间的拷贝,有些时候会比使用 8088 或 80286 等慢速 CPU 更快。 * 提供更高的分辨率:16 色可使用 704×528、736×552、768×576、甚至 800×600。诸如 Xlib(1990 年代早期的 C 图形函式库)和 ColoRIX(256 色的图形程式)支援 256 色下的各种分辨率调和:直行 256、320 和 360 个像素,以及水平行 200、240、256、400 和 480 个像素的组合(上限的 640×400 几乎用掉 256 KiB 中每一个 byte)。不过,320×240仍然是最常被使用的,因它为典型的4:3比例,为方形像素。 * multiple video pages 让程序员能够使用双重缓冲(所有的 16 色模式都可),这在 Mode 13h 无法办到。 有时候,显示器必须降低更新频率来满足这些模式,这会造成眼睛的疲劳这样的低分辨率虽然在PC市场早已淡出,但在Pocket PC和PDA市场,它正逐渐成为标准。它也常被用来指称15针的D型接头,这种接头仍然用来传输各式各样分辨率的类比讯号。 曾经IBM官方宣布VGA被XGA标准所取代,但在历史上,它是被其他的OEM制造商使用的所谓SVGA标准取代了。
编辑本段技术性细节
VGA中的A指的是“阵列(array)”而非“转换器(adapter)”,因为它从一开始就被设计为一个单一的整合芯片,用来取代Motorola 6845和数十个离散的逻辑芯片组合而成的ISA母版,这种设计是之前的MDA、CGA和EGA所使用的。VGA的这个特性允许它轻易的殖入PC的主板之中,只需要额外的视讯内存、振荡器和一个RAMDAC,就具备显示功能。IBM的PS/2电脑系列就是采用将VGA放置于主板上的设计。 VGA的规格表如下: * 256 KiB 的 Video RAM * 16 色和 256 色模式 * 总共 262144 种颜色的色版(红、绿、蓝三色各 6 bit,总共 (26)3 种) * 选择性的 25.2 MHz 或 28.3 MHz 处理频率 * 最多 720 个水平像素 * 最多 480 条线 * 最高 70 Hz 的更新频率 * Vertical Blanking interrupt(不是所有卡都支持) * 平面模式:最多 16 色(4 bit 面板) * Packed-pixel 模式:256 色(Mode 13h) * 顺畅卷动画面的能力 * Some "Raster Ops" support * Barrel shifter * 支援分割画面 VGA支援可单独操控像素的APA(All Points Addressable)模式,也支援字母与数字的文字模式。标准的图形模式如下: * 640×480×16色 * 640×350×16色 * 320×200×16色 * 320×200×256色(Mode 13h) 它也支援用模拟的方式画出以往规格的分辨率:EGA、CGA和MDA。
编辑本段VGA文字模式
标准的VGA文字模式使用 80×25 或 40×25 个字母或数字组成的平面。每个字符的块状区域可以选择16种前景色和8种背景色;8种背景色来自bit容量较低的集合(以今天的标准来说,例如 ffffff 或者是 000000)。而字符本身也可设定是否闪烁,而字符的闪烁动作都是同时的。画面的闪烁功能和选择背景颜色的功能是可交换的,换句话说两者只能择一。以上这些选项和IBM先前生产的 CGA 转换器是相同的。 VGA虽然支援黑白和彩色的文字模式,但黑白模式很少使用。大多的VGA在显示黑白模式时使用彩色模式,即是将灰色字画在黑色背景上。而使用VGA 的单色显示器也能很好的支援这样的彩色模式。现代显示器和显卡若连接不当,偶尔会导致显卡的VGA部份侦测显示器为单色的,而这将使BIOS开机显示为黑白模式。通常在加载操作系统和适当的驱动程式以后,显卡的设定被覆盖,显示器就会变回彩色。 在彩色的文字模式中,每个字符其实由两个byte代表。较低的一个byte用来显示字符,而较高的byte就用来代表彩色、闪烁等等属性。这种成对的byte模式是从CGA就一直传续下来的。
编辑本段VGA色版
VGA的色彩系统可以向前相容于EGA和CGA转换器,而它在其上又新增了一种设定。CGA可以显示16种色彩,EGA则将其扩充成从64种颜色色版选出的16色模式(即红绿蓝各2 bits)。VGA则更将其扩充成256种颜色色版,但为了向前相容,一次只能选择256种之中的64种(例如第一个64种颜色集合、第二个…)。所以一个。它们也不相容于较老旧的显示器,将造成诸如 overscan、闪烁、垂直滚动、缺乏水平同步等等缺点。因为如此,多数的商业软件使用的 VGA 调适都限制在显示器的“安全界线”之下,例如 320×400(双倍分辨率,2 video pages)、320×240(方形像素,3 video pages)和 360x480(最高的相容分辨率,1 video page)。
编辑本段VGA显示标准
VGA(Video Graphics Array)是IBM于1987年提出的一个使用模拟信号的电脑显示标准,这个标准已对于现今的个人电脑市场已经十分过时。即使如此,VGA仍然是最多制造商所共同支持的一个低标准,个人电脑在加载自己的独特驱动程式之前,都必须支持VGA的标准。例如,微软Windows系列产品的开机画面仍然使用VGA显示模式,这也说明其分辨率和载色数的不足。 VGA这个术语常常不论其图形装置,而直接用于指称640×480的分辨率。VGA装置可以同时储存4个完整的EGA色版,并且它们之间可以快速转换,在画面上看起来就像是即时的变色。 除了扩充为256色的EGA式色版,这256种色彩其实可以透过 VGA DAC(Digital-to-analog converter),任意的指定为任何一种颜色。这就程度上改变了原本EGA的色版规则,因为原本在EGA上,这只是一个让程式可以在每个频道(即红绿蓝)在2 bit以下选择最多种颜色的方式。但在VGA下它只是简单的64种颜色一组的表格,每一种都可以单独改变——例如EGA颜色的首两个bit代表红色的数量,在VGA中就不一定如此了。 VGA在指定色版颜色时,一个颜色频道有6个bit,红、绿、蓝各有64种不同的变化,因此总共有 262,144 种颜色。在这其中的任何 256 种颜色可以被选为色版颜色(而这 256 种的任何 16 种可以用来显示 CGA 模式的色彩)。 这个方法最终仍然使了VGA模式在显示EGA和CGA模式时,能够使用前所未有的色彩,因为VGA是使用模拟的方式来绘出EGA和CGA画面。提供一个色版转换的例子:要把文字模式的字符颜色设定为暗红色,暗红色就必须是 CGA 16 色集合中的一种颜色(譬如说,取代 CGA 默认的 7 号灰色),这个 7 号位置将被指定为 EGA 色版中的 42 号,然后 VGA DAC 将 EGA #42 指定为暗红色。则画面上的原本的 CGA 七号灰色,都会变成暗红色。这个技巧在 256 色的 VGA DOS 游戏中,常常被用来表示加载游戏的淡入淡出画面。 总结来说,CGA 和 EGA 同时只能显示 16 种色彩,而 VGA 因为使用了 Mode 13h 而可以一次显示 256 色版中的所有色彩,而这 256 种颜色又是从 262,144 种颜色中挑出的。
编辑本段VGA显示模式
VGA最早指的是显示器640X480这种显示模式,VGA的英文全称是Video Graphic Array,也叫显示绘图阵列。VGA支持在640X480的较高分辨率下同时显示16种色彩或256种灰度,同时在320X240分辨率下可以同时显示256种颜色。 在VGA基础上加以扩充,使其支持更高分辨率如800X600或1024X768,这些扩充的模式就称之为VESA(Video Electronics Standards Association,视频电子标准协会)的Super VGA模式,简称SVGA,现在的显卡和显示器都支持SVGA模式VGA接口就是显卡上输出模拟信号的接口,也叫D-Sub接口,传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。
编辑本段VGA接口
VGA接口15pin 连接方式
VGA接口:VGA(Video Graphics Array)还有一个名称叫D-Sub。 VGA,Video Graphics Array,/D-Sub接口;VGA接口是一种D型接口,采用非对称分布的15pin 连接方式,共有15针,分成3排,每排5个孔。 VGA接口共有15针,分成3排,每排5个孔,是显卡上应用最为广泛的接口类型,绝大多数显卡都带有此种接口。它传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。 一般在VGA接头上,会1,5,6,10,11,15等标明每个接口编号。如果没有,如上图所示编号。 VGA接口15根针,其对应接口定义如下: 1.红基色 red 2.绿基色 green 3.蓝基色 blue 4.地址码 ID Bit(也有部分是RES,或者为ID2显示器标示位2) 5.自测试 ( 各家定义不同 )(一般为GND) 6.红地 7.绿地 8.蓝地 9.保留 ( 各家定义不同 )(KEY··我也不是很理解) 10. 数字地 11.地址码(ID0显示器标示位0) 12.地址码(ID1显示器标示位1) 13.行同步 14.场同步 15.地址码 ( ID3或显示器标示位3 ) VGA接口管脚定义
VGA接口是显卡上应用最为广泛的接口类型,绝大多数的显卡都带有此种接口。工作原理,是计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R、G、B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。对于模拟显示设备,如模拟CRT显示器,信号被直接送到相应的处理电路,驱动控制显像管生成图像。而对于LCD、DLP等数字显示设备,显示设备中需配置相应的A/D(模拟/数字)转换器,将模拟信号转变为数字信号,在经过D/A和A/D2次转换后,不可避免地造成了一些图像细节的损失。使用VGA连接设备,线缆长度最好不要超过10米,而且要注意接头是否安装牢固,否则可能引起图像中出现虚影。
编辑本段VGA数据线
VGA数据线是用来连接电视的VGA接口和显卡的VGA接口的特殊线缆。 VGA数据线是用来连接VGA接口设备的线缆,长度有1.5米,3米,到100多米不等,因为它所采用的线材比较粗象电缆一样因此几十米上百米也不会出现明显的信号减退现象,不过相对于HDMI线就没那么清晰。
编辑本段VGA接口相关产品
VGA矩阵,VGA分配器,VGA切换器,RGBHV矩阵。RGBHV矩阵切换器,VGA显示器、VGA采集卡词条图册更多图册
开放分类:
计算机技术,网络,电脑硬件,显卡,VGA数据线
“VGA”在英汉词典中的解释(来源:网络词典):
VGA
abbr.
1. =Video Graphics Array 【电脑】视频图像阵列
vga
abbr.
1. =variable-gain amplifier 可变增益放大器