<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2015 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Funding Free Software", the Front-Cover
Texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below).  A copy of the license is included in the section entitled
"GNU Free Documentation License".

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using the GNU Compiler Collection (GCC): Messaging with the GNU Objective-C runtime</title>

<meta name="description" content="Using the GNU Compiler Collection (GCC): Messaging with the GNU Objective-C runtime">
<meta name="keywords" content="Using the GNU Compiler Collection (GCC): Messaging with the GNU Objective-C runtime">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Objective_002dC.html#Objective_002dC" rel="up" title="Objective-C">
<link href="Dynamically-registering-methods.html#Dynamically-registering-methods" rel="next" title="Dynamically registering methods">
<link href="Fast-enumeration-protocol.html#Fast-enumeration-protocol" rel="prev" title="Fast enumeration protocol">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Messaging-with-the-GNU-Objective_002dC-runtime"></a>
<div class="header">
<p>
Previous: <a href="Fast-enumeration.html#Fast-enumeration" accesskey="p" rel="prev">Fast enumeration</a>, Up: <a href="Objective_002dC.html#Objective_002dC" accesskey="u" rel="up">Objective-C</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Messaging-with-the-GNU-Objective_002dC-Runtime"></a>
<h3 class="section">8.10 Messaging with the GNU Objective-C Runtime</h3>

<p>This section is specific for the GNU Objective-C runtime.  If you are
using a different runtime, you can skip it.
</p>
<p>The implementation of messaging in the GNU Objective-C runtime is
designed to be portable, and so is based on standard C.
</p>
<p>Sending a message in the GNU Objective-C runtime is composed of two
separate steps.  First, there is a call to the lookup function,
<code>objc_msg_lookup ()</code> (or, in the case of messages to super,
<code>objc_msg_lookup_super ()</code>).  This runtime function takes as
argument the receiver and the selector of the method to be called; it
returns the <code>IMP</code>, that is a pointer to the function implementing
the method.  The second step of method invocation consists of casting
this pointer function to the appropriate function pointer type, and
calling the function pointed to it with the right arguments.
</p>
<p>For example, when the compiler encounters a method invocation such as
<code>[object init]</code>, it compiles it into a call to
<code>objc_msg_lookup (object, @selector(init))</code> followed by a cast
of the returned value to the appropriate function pointer type, and
then it calls it.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">&bull; <a href="Dynamically-registering-methods.html#Dynamically-registering-methods" accesskey="1">Dynamically registering methods</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Forwarding-hook.html#Forwarding-hook" accesskey="2">Forwarding hook</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
</table>




</body>
</html>
