edglan10.htm
来自「ST20 Embedded Toolset R2.0.5用于开发基于ST20芯片」· HTM 代码 · 共 62 行
HTM
62 行
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="GENERATOR" content="Quadralay WebWorks Publisher Professional Edition 6.0.5">
<meta name="TEMPLATEBASE" content="book_html">
<meta name="LASTUPDATED" content="12/04/03 16:06:47">
<title>14.1.8 Secondary translation units </title>
<STYLE TYPE="text/css">
<!--
span.Signal { text-transform: uppercase; font-family: Verdana }
-->
</STYLE>
</head>
<body link="#3366CC" vlink="#9999CC" text="#000000" alink="#0000CC" bgcolor="#FFFFFF"
background="images/backgrnd.gif">
<p><img src="images/stlogo.gif" width="106" height="83" align="left"
alt="logo here!"> </p>
<table width="331" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td><a href="a_refman.htm"><img src="images/navtoc.gif" width="84" height="23"
border="0" alt="TOC"> </a></td>
<td><a href="edglang9.htm"><img src="images/navprev.gif" width="80" height="23"
border="0" alt="PREV"> </a></td>
<td><a href="edglan11.htm"><img src="images/navnext.gif" width="83" height="23"
border="0" alt="NEXT"> </a></td>
<td><a href="a_refmaa.htm"><img src="images/navidx.gif" width="84" height="23"
border="0" alt="INDEX"> </a></td>
</tr>
</table>
<p><br clear="all">
</p>
<hr align="left">
<blockquote>
<h3>
<a name="1207774"> </a><font color="#003366" face="Verdana, Arial, Helvetica, sans-serif">14.1.8 Secondary translation units</font>
</h3>
<p>
<a name="1207775"> </a><font size=2 face="Verdana, Arial, Helvetica, sans-serif">An instantiation of an exported template can be triggered by an explicit instantiation directive, or by the <font size=2 face=Courier><strong>-tused</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>command-line option. In each case, the translation unit that contains the initial point of instantiation will be processed as the <font face="Verdana, Arial, Helvetica, sans-serif"><i>primary translation unit</i></font>. Based on information it finds in the "<font size=2 face=Courier><strong>.et</strong></font>" files, the front end will then load and parse the translation unit containing the definition of the template to instantiate. This is a <font face="Verdana, Arial, Helvetica, sans-serif"><i>secondary translation unit</i></font>. The simultaneous processing of the primary and secondary translation units enables the front end to create instantiations of the exported templates (which can include entities from both translation units). This process may reveal the need for additional instantiations of exported templates, which in turn can cause additional secondary <font face="Verdana, Arial, Helvetica, sans-serif">translation units to be loaded.</font></font>
</p>
<p>
<a name="1207776"> </a><font size=2 face="Verdana, Arial, Helvetica, sans-serif">When secondary translation units are processed, the declarations they contain are checked for consistency. This process may report errors that would otherwise not be caught. Many of these errors are so-called "ODR violations" (ODR stands for "one-definition rule"). For example:</font>
</p>
<a name="1207777"> </a><font size=2 face=Courier><strong><font size=2 face=Courier><em>// File 1:</em></font> <br><br></strong></font>
<a name="1207779"> </a><font size=2 face=Courier><strong>struct X {<br>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?