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, links are created for all combinations, resulting in unnecessary link operations.<br>By doing this operation manually, unnecessary link processing can be avoided.<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 is easier to use the linked list, as the procedure for creating and breaking links becomes complicated.
57</p>
58<p>
59The benefit of manual operation is that unnecessary link operations can be omitted. The downside is that management becomes complicated.
60</p>
61<p>
62<B>Note:</B> Manual and linked list operations cannot be used together. Do not use a linked list when manual specifications are made.
63</p>
64<H2>See Also</H2>
65<p>
66<a href="./demos.html">Demo Program List</a><br> <code><a href="../RSOStaticLocateObject.html">RSOStaticLocateObject</a></code>, <code><a href="../RSOLocateObject.html">RSOLocateObject</a></code>, <code><a href="../RSOUnLocateObject.html">RSOUnLocateObject</a></code>, <code><a href="../RSOLink.html">RSOLink</a></code>, <code><a href="../RSOUnLink.html">RSOUnLink</a></code>, <code><a href="../RSOFindExportSymbolAddr.html">RSOFindExportSymbolAddr</a></code>, <code><a href="../RSOIsImportSymbolResolvedAll.html">RSOIsImportSymbolResolvedAll</a></code>,
67</p>
68<H2>Revision History</H2>
69<p>06/14/2006 Initial version.</p>
70
71<hr>
72<p align="right"><strong>CONFIDENTIAL</strong></p>
73
74</BODY>
75</HTML>
76