<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
extern [C++ Reference]
</title>
<meta name="generator" content="DokuWiki Release 2009-12-25c "Lemming"" />
<meta name="robots" content="index,follow" />
<meta name="date" content="2008-10-30T10:36:47-0700" />
<meta name="keywords" content="keywords,extern" />
<link rel="search" type="application/opensearchdescription+xml" href="/wiki/lib/exe/opensearch.php" title="C++ Reference" />
<link rel="start" href="/wiki/" />
<link rel="contents" href="/wiki/keywords/extern?do=index" title="Index" />
<link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/wiki/feed.php" />
<link rel="alternate" type="application/rss+xml" title="Current Namespace" href="/wiki/feed.php?mode=list&ns=keywords" />
<link rel="edit" title="Edit this page" href="/wiki/keywords/extern?do=edit" />
<link rel="alternate" type="text/html" title="Plain HTML" href="/wiki/_export/xhtml/keywords/extern" />
<link rel="alternate" type="text/plain" title="Wiki Markup" href="/wiki/_export/raw/keywords/extern" />
<link rel="canonical" href="http://www.cppreference.com/wiki/keywords/extern" />
<link rel="stylesheet" media="all" type="text/css" href="/wiki/lib/exe/css.php?s=all&t=custom1&tseed=1272971091" />
<link rel="stylesheet" media="screen" type="text/css" href="/wiki/lib/exe/css.php?t=custom1&tseed=1272971091" />
<link rel="stylesheet" media="print" type="text/css" href="/wiki/lib/exe/css.php?s=print&t=custom1&tseed=1272971091" />
<script type="text/javascript" charset="utf-8" ><!--//--><![CDATA[//><!--
var NS='keywords';var JSINFO = {"id":"keywords:extern","namespace":"keywords"};
//--><!]]></script>
<script type="text/javascript" charset="utf-8" src="/wiki/lib/exe/js.php?tseed=1272971091" ></script>
<link rel="shortcut icon" href="/wiki/lib/tpl/custom1/images/favicon.png" />
</head>
<body>
<div class="dokuwiki">
<div class="stylehead">
<div class="breadcrumbs">
<span class="bchead">You are here: </span><a href="../start.html" title="start">C++ Reference</a> » <a href="../keywords/start.html" title="keywords:start">C++ Keywords</a> » <a href="../keywords/extern.html" title="keywords:extern">extern</a> </div>
</div>
<div class="page">
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-2828341-1";
urchinTracker();
</script>
<!-- wikipage start -->
<h2><a name="extern" id="extern">extern</a></h2>
<div class="level2">
<p>
The extern keyword is used to inform the compiler about variables declared
outside of the current scope. Variables described by extern statements will not
have any space allocated for them, as they should be properly defined
elsewhere.
</p>
<p>
Extern statements are frequently used to allow data to span the scope of
multiple files.
</p>
<p>
When applied to function declarations, the additional āCā or āC++ā string literal will change name mangling when compiling under the opposite language. That is,
</p>
<pre class="c code c++" style="font-family:monospace;"><span class="kw2">extern</span> <span class="st0">"C"</span> <span class="kw4">int</span> plain_c_func<span class="br0">(</span><span class="kw4">int</span> param<span class="br0">)</span><span class="sy0">;</span></pre>
<p>
allows C++ code to execute a C library function plain_c_func.
</p>
<p>
See also: <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1996/N0950.asc" class="urlextern" title="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1996/N0950.asc" rel="nofollow">extern "LANG" Linkage Issues</a>
</p>
</div>
<!-- wikipage stop -->
</div>
<div class="clearer"> </div>
<div class="stylefoot">
<div class="meta">
<div class="user">
</div>
<!--
<div class="doc">
keywords/extern.txt · Last modified: 10/30/2008 10:36 by ilgiz </div>
-->
</div>
</div></div></body>
</html>