Important: The information in this document is obsolete and should not be used for new development. Links to downloads and other resources may no longer be valid.
Important: The information in this document is obsolete and should not be used for new development. Links to downloads and other resources may no longer be valid.
Originally designed to provide a gentle migration path for developers transitioning from Mac OS 9, Carbon is a collection of C programming interfaces that let you implement basic application functionality such as the user interface, event handling, file management, and so on.
Note: A programming interface is the set of functions and data structures defined by one piece of software, such as an operating system service, for use by client software, such as applications and device drivers. For example, you would access one programming interface to enable your application to print and another to manipulate your application's menus
This document describes Carbon's place in Mac OS X and gives overviews of the Carbon interfaces. It also describes a wide variety of other programming interfaces that Carbon applications can use, supporting everything from video playback to alternate text input.
As Carbon is a C interface, you can also use all the standard C library APis; however, Mac OS X often has superior replacements (for example, Unicode string manipulation APIs versus the ASCII-related APIs, such as strcmp
in the standard C library).
You should read this document if you are new to Mac OS X and would like to write Mac OS X applications using procedural C or C++.
This document contains two chapters:
“Carbon Basics” briefly describes how Carbon fits into Mac OS X and the tools available to build Carbon applications.
“The Carbon Factory Tour” gives an overview of Carbon managers and services, including nonCarbon specialty services.
“Legacy Interfaces” describes managers and services that have been superseded by newer technologies. If you are a new developer, this chapter is of historical interest only.
When you are ready to explore Carbon programming, see Getting Started with Carbon to determine which documents to start reading.
Last updated: 2005-11-09