C++ Computer Terms

This list of computer terminology for C++ is useful for programmers of all levels who may wonder what certain acronyms mean. This page will continue to be updated.

ActiveX: Based on COM, ActiveX allows programmers to call ready-made components, such as a 3D toolbar, dialog box, or full spreadsheet, that will act and look like part of their application.

On the Internet, ActiveX controls can be used to turn a web page into a software program where the ActiveX control will run like other software on the user's machine (i.e., it will have access to data on the hard drive). For this reason, in most compliant web browsers, users are asked if they want to run ActiveX controls. Some viruses and spyware are written using ActiveX.

ATL: Active Template Library. A set of template-based C++ classes that help simplify programming ActiveX and COM objects. Because it does not need support dlls, it can be used as a lightweight version of MFC for COM components.

COM: Component Object Model. This technology allows interprocess communications between applications written in any programming language. Introduced by Microsoft in the early 1990s.

COM+: Enhancement to COM that allows programmers to write COM objects more easily. COM+ handles many of the resource management tasks (i.e., threads and security) for programmers. It also provides thread pooling, object pooling, and just-in-time object activation.

DCOM: Distributed COM. Applications written in different languages can contact each other remotely via a network using DCOM.

DirectX: Stands for a collection of programming APIs developed by Microsoft for multimedia such as graphics, game programming, music, and video. With DirectX, programmers can write to one of the APIs and DirectX will either use HAL, or HEL (software emulation) if there is no hardware available.

Here is a list of the DirectX technologies and their uses:

  • DirectDraw: 2D graphics
  • Direct3D: 3D graphics
  • DirectSound: audio
  • DirectSound3D: 3D audio (gaming)
  • DirectPlay: multi-player control (gaming)
  • DirectInput: input device control (gaming)
  • DirectVoice: players talk to each other (gaming)
  • DirectShow: audio, video, streaming media
  • DirectVideo: video (earlier API)

GLUT: OpenGL Utility Toolkit. A windowing-systems-independent utility library created by Mark Kilgard that makes it easier to learn and write simple OpenGL programs. GLUT is also cross-platform, so no knowledge of OS-specific windowing APIs are required. It is for small- to medium-sized OpenGL applications that do not require an extensive GUI. It has some windowing capabilities, with limited support for pop-up menus, and can read keyboard, mouse, and joystick input.

GLUT is in version 3.7 with no further releases expected. freeglut and OpenGLUT are rewrites of GLUT that are currently maintained and are open source.

GUI: graphical user interface.

HEL: Hardware Emulation Layer.

HAL: Hardware Abstraction Layer.

MFC: Microsoft Foundation Classes. An application framework for writing Microsoft C/C++ and Visual C++ applications. Used mainly for windowing capabilities so that programmers can work with C++ classes instead of calling the Windows (Win32) API directly.

OpenGL: Open Graphics Library. API library with about 250 functions that can be used to make applications that create 2D and 3D graphics. The API covers up differences in hardware or software emulation, and thus makes it easier for a programmer to consistently program graphics.

STL: Standard Template Library. Allows C++ programmers to easily implement data structures such as lists, stacks, and queues with the library's generic collection of class templates. The classes offered by the STL are:

  • Sequences
    • Vectors
    • Lists
    • Double-Ended Queues
  • Container Adapters
    • Stacks
    • Queues
    • Priority Queues
  • Associative Containers
    • Bitsets
    • Maps
    • Multimaps
    • Sets
    • Multisets

Visual Studio Express 2005: Free version of the Visual Studio .NET IDE. Comes with standard C++ libraries, but does not include the ATL, WTL, or MFC.

WFC: Win32 Foundation Classes. Created by Sam Blackburn. The library extends MFC to allow programmers access to NT-specific system functionality. There are many aspects covered by WFC, including:

  • Access Control
  • Bitmap Files
  • Cryptography
  • Simple TCP/IP Sockets
  • NT Event Log Access
  • Extensible Markup Language (XML)
  • Sound Mixing
  • Network
  • Remote Access Service (RAS)
  • PCS Phone and Pager Messaging
  • Registry Access
  • Shared Memory Management
  • MIME Encoding
  • File Directory Access
  • LZW File I/O

Win32++: An easier Win32 API that helps programmers learn about the Win32 framework by exposing the API. It is a simple alternative to MFC and is object-oriented.

Win32: The Win32 API is used to write applications for 32-bit Windows operating systems (i.e., Windows 95, NT, 2000, XP). Allows for all kinds of applications to be written, including systems, file I/O, registry access, GUI, etc.

WTL: Windows Template Library. The WTL is a windowing library that extends the ATL and makes it easier to develop Windows applications with UI components such as dialogs, frame windows, and GDI objects. It produces significantly smaller executables than MFC, though programmers will need to know more about Win32 API GUI programming because there is no wizard support in Visual Studio as there is for MFC.

WTL is a separate windowing library from MFC, but programmers can use both in the same application if they so desire.