• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2011.09/share/doc/arm-arm-none-eabi/html/gcc/
1<html lang="en">
2<head>
3<title>Traditional GNU Objective-C runtime API - Using the GNU Compiler Collection (GCC)</title>
4<meta http-equiv="Content-Type" content="text/html">
5<meta name="description" content="Using the GNU Compiler Collection (GCC)">
6<meta name="generator" content="makeinfo 4.13">
7<link title="Top" rel="start" href="index.html#Top">
8<link rel="up" href="GNU-Objective_002dC-runtime-API.html#GNU-Objective_002dC-runtime-API" title="GNU Objective-C runtime API">
9<link rel="prev" href="Modern-GNU-Objective_002dC-runtime-API.html#Modern-GNU-Objective_002dC-runtime-API" title="Modern GNU Objective-C runtime API">
10<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
11<!--
12Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
131998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
142010 Free Software Foundation, Inc.
15
16Permission is granted to copy, distribute and/or modify this document
17under the terms of the GNU Free Documentation License, Version 1.3 or
18any later version published by the Free Software Foundation; with the
19Invariant Sections being ``Funding Free Software'', the Front-Cover
20Texts being (a) (see below), and with the Back-Cover Texts being (b)
21(see below).  A copy of the license is included in the section entitled
22``GNU Free Documentation License''.
23
24(a) The FSF's Front-Cover Text is:
25
26     A GNU Manual
27
28(b) The FSF's Back-Cover Text is:
29
30     You have freedom to copy and modify this GNU Manual, like GNU
31     software.  Copies published by the Free Software Foundation raise
32     funds for GNU development.-->
33<meta http-equiv="Content-Style-Type" content="text/css">
34<style type="text/css"><!--
35  pre.display { font-family:inherit }
36  pre.format  { font-family:inherit }
37  pre.smalldisplay { font-family:inherit; font-size:smaller }
38  pre.smallformat  { font-family:inherit; font-size:smaller }
39  pre.smallexample { font-size:smaller }
40  pre.smalllisp    { font-size:smaller }
41  span.sc    { font-variant:small-caps }
42  span.roman { font-family:serif; font-weight:normal; } 
43  span.sansserif { font-family:sans-serif; font-weight:normal; } 
44--></style>
45<link rel="stylesheet" type="text/css" href="../cs.css">
46</head>
47<body>
48<div class="node">
49<a name="Traditional-GNU-Objective-C-runtime-API"></a>
50<a name="Traditional-GNU-Objective_002dC-runtime-API"></a>
51<p>
52Previous:&nbsp;<a rel="previous" accesskey="p" href="Modern-GNU-Objective_002dC-runtime-API.html#Modern-GNU-Objective_002dC-runtime-API">Modern GNU Objective-C runtime API</a>,
53Up:&nbsp;<a rel="up" accesskey="u" href="GNU-Objective_002dC-runtime-API.html#GNU-Objective_002dC-runtime-API">GNU Objective-C runtime API</a>
54<hr>
55</div>
56
57<h4 class="subsection">8.1.2 Traditional GNU Objective-C runtime API</h4>
58
59<p>The GNU Objective-C runtime used to provide a different API, which we
60call the &ldquo;traditional&rdquo; GNU Objective-C runtime API.  Functions
61belonging to this API are easy to recognize because they use a
62different naming convention, such as <code>class_get_super_class()</code>
63(traditional API) instead of <code>class_getSuperclass()</code> (modern
64API).  Software using this API includes the file
65<samp><span class="file">objc/objc-api.h</span></samp> where it is declared.
66
67 <p>The traditional API is deprecated but it is still supported in this
68release of the runtime; you can access it as usual by including
69<samp><span class="file">objc/objc-api.h</span></samp>.
70
71 <p>If you are using the traditional API you are urged to upgrade your
72software to use the modern API because the traditional API requires
73access to private runtime internals to do anything serious with it;
74for this reason, there is no guarantee that future releases of the GNU
75Objective-C runtime library will be able to provide a fully compatible
76<samp><span class="file">objc/objc-api.h</span></samp> as the private runtime internals change.  It is
77expected that the next release will hide a number of runtime internals
78making the traditional API nominally supported but fairly useless
79beyond very simple use cases.
80
81 <p>Finally, you can not include both <samp><span class="file">objc/objc-api.h</span></samp> and
82<samp><span class="file">objc/runtime.h</span></samp> at the same time.  The traditional and modern
83APIs unfortunately have some conflicting declarations (such as the one
84for <code>Method</code>) and can not be used at the same time.
85
86<!-- ========================================================================= -->
87 </body></html>
88
89