1<html lang="en"> 2<head> 3<title>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="Objective_002dC.html#Objective_002dC" title="Objective-C"> 9<link rel="next" href="Executing-code-before-main.html#Executing-code-before-main" title="Executing code before main"> 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="GNU-Objective-C-runtime-API"></a> 50<a name="GNU-Objective_002dC-runtime-API"></a> 51<p> 52Next: <a rel="next" accesskey="n" href="Executing-code-before-main.html#Executing-code-before-main">Executing code before main</a>, 53Up: <a rel="up" accesskey="u" href="Objective_002dC.html#Objective_002dC">Objective-C</a> 54<hr> 55</div> 56 57<h3 class="section">8.1 GNU Objective-C runtime API</h3> 58 59<p>This section is specific for the GNU Objective-C runtime. If you are 60using a different runtime, you can skip it. 61 62 <p>The GNU Objective-C runtime provides an API that allows you to 63interact with the Objective-C runtime system, querying the live 64runtime structures and even manipulating them. This allows you for 65example to inspect and navigate classes, methods and protocols; to 66define new classes or new methods, and even to modify existing classes 67or protocols. 68 69 <p>If you are using a “Foundation” library such as GNUstep-Base, this 70library will provide you with a rich set of functionality to do most 71of the inspection tasks, and you probably will only need direct access 72to the GNU Objective-C runtime API to define new classes or methods. 73 74<ul class="menu"> 75<li><a accesskey="1" href="Modern-GNU-Objective_002dC-runtime-API.html#Modern-GNU-Objective_002dC-runtime-API">Modern GNU Objective-C runtime API</a> 76<li><a accesskey="2" href="Traditional-GNU-Objective_002dC-runtime-API.html#Traditional-GNU-Objective_002dC-runtime-API">Traditional GNU Objective-C runtime API</a> 77</ul> 78 79<!-- ========================================================================= --> 80 </body></html> 81 82