1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
6<META http-equiv="Content-Style-Type" content="text/css">
7<LINK rel="stylesheet" type="text/css" href="../../CSS/revolution.css">
8<title>RSO Sample Demo - Manually</title>
9</head>
10
11<body>
12
13<H1>RSO Sample Demo - Manually</H1>
14
15<H2>Location</H2>
16<p><code>$REVOLUTION_SDK_ROOT/build/demos/rsodemo/Manually</code></p>
17
18<H2>Overview</H2>
19<p>
20Sample for not using linked lists.<br>The link will be specified directly from the program.
21</p>
22
23<H2>Description</H2>
24<p>
25The internal operation of each module is completed using <code><a href="../RSOStaticLocateObject.html">RSOStaticLocateObject</a></code> or <code><a href="../RSOLocateObject.html">RSOLocateObject</a></code>, and each module will be linked using <code><a href="../RSOLink.html">RSOLink</a></code>.<br>Enter the following to reference module B from module A.
26</p>
27<TABLE border="1" width="100%">
28  <TBODY>
29    <TR>
30      <TD width="100%">
31      <PRE><CODE>
32RSOLink(moduleA, moduleB);
33</CODE></PRE>
34      </TD>
35    </TR>
36  </TBODY>
37</TABLE>
38<p>
39To break a link, disconnect all links using <code><a href="../RSOUnLink.html">RSOUnLink</a></code> and use <code><a href="../RSOUnLocateObject.html">RSOUnLocateObject</a></code> to return the internal information to pre-link state.<br>Enter the following to stop referencing module B from module A.
40</p>
41<TABLE border="1" width="100%">
42  <TBODY>
43    <TR>
44      <TD width="100%">
45      <PRE><CODE>
46RSOUnLink(moduleA, moduleB);
47</CODE></PRE>
48      </TD>
49    </TR>
50  </TBODY>
51</TABLE>
52<p>
53When a linked list is used, a link will be created for all combinations, resulting in unnecessary link operation.<br>By doing this operation manually, unnecessary link processing may be omitted.<br>In the sample, since we know that module C references only the static module, it is not linked with other dynamic modules.<br>
54</p>
55<p>
56This should be effective in shortening the link processing time for dynamic modules that do not link to static modules (module C).<br>However, when functions are called between dynamic modules (module A and module B), it will be easier to use the linked list, because the procedure for creating and breaking link will become complicated.
57</p>
58<p>
59The benefit of manual operation is that unnecessary link operations can be omitted. The downside is that management will become complicated.
60</p>
61<p>
62<B>Note:</B> Manual and linked list operation cannot be used together. Do not use linked list when manual specifications are made.
63</p>
64<H2>See Also</H2>
65<p>
66<a href="./demos.html">Sample List</a><br>
67<code><a href="../RSOStaticLocateObject.html">RSOStaticLocateObject</a></code>,
68<code><a href="../RSOLocateObject.html">RSOLocateObject</a></code>,
69<code><a href="../RSOUnLocateObject.html">RSOUnLocateObject</a></code>,
70<code><a href="../RSOLink.html">RSOLink</a></code>,
71<code><a href="../RSOUnLink.html">RSOUnLink</a></code>,
72<code><a href="../RSOFindExportSymbolAddr.html">RSOFindExportSymbolAddr</a></code>,
73<code><a href="../RSOIsImportSymbolResolvedAll.html">RSOIsImportSymbolResolvedAll</a></code>,
74</p>
75<H2>Revision History</H2>
76<p>2006/06/14 Initial version.</p>
77
78<hr><p>CONFIDENTIAL</p></body>
79</HTML>
80