📄 node46.html
字号:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2 Final//FR"><!-- Converted with LaTeX2HTML 95.1 (Fri Jan 20 1995) --><!-- by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds --><!-- Modified Simulog 03/97 --><HTML><HEAD><TITLE>5.3 Description of commands</TITLE><LINK REL=STYLESHEET TYPE="text/css" HREF="./Modulef.css" TITLE="Modulef CSS"><meta name="description" value="5.3 Description of commands"><meta name="keywords" value="Guide1"><meta name="resource-type" value="document"><meta name="distribution" value="global"></HEAD><BODY BGCOLOR="#FFFFFF"><P> <IMG SRC="../icons/smallmod.gif" WIDTH=211 HEIGHT=50 ALIGN=BOTTOM ALT="Modulef"><A NAME=tex2html733 HREF="node45.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/previous_motif.gif" ALT="previous"></A><A NAME=tex2html739 HREF="node42.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/up_motif.gif" ALT="up"></A><A NAME=tex2html741 HREF="node47.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/next_motif.gif" ALT="next"></A><A NAME=tex2html743 HREF="node2.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/contents_motif.gif" ALT="contents"></A><A HREF="../Guide1-18/node46.html"><IMG BORDER=0 SRC="../icons/zoom18.gif" ALIGN=BOTTOM ALT="[BIG]"></A><A HREF="../Guide1-14/node46.html"><IMG BORDER=0 SRC="../icons/zoom14.gif" ALIGN=BOTTOM ALT="[Normal]"></A><A HREF="../Guide1-10/node46.html"><IMG BORDER=0 SRC="../icons/zoom10.gif" ALIGN=BOTTOM ALT="[small]"></A><BR><B> Next: </B> <A NAME=tex2html742 HREF="node47.html">5.4 Up-date of the MODULEF library </A><B>Up: </B> <A NAME=tex2html740 HREF="node42.html">5 Management under UNIX</A><B> Prev: </B> <A NAME=tex2html734 HREF="node45.html">5.2 Guidelines for software development</A><B><A HREF="node2.html" >Contents</A></B><HR SIZE=3 WIDTH="75%"><H1><A NAME=SECTION05640000000000000000>5.3 Description of commands</A></H1><P><P><P><H2><A NAME=SECTION05641000000000000000>5.3.1 bb: management of the library</A></H2><P><P><P><DL COMPACT><DT>Utilization:<DD> <b> bb</b> <i> key [library] member</i><P>where<DL COMPACT><DT><i> key</i><DD> corresponds to the action to be performed,<DT><i> library</i><DD> corresponds to the name of the library in which the member is found (this argument is optional), and<DT><i> member</i><DD> corresponds to the name of the file on which the action is to be performed.<P> </DL><P><DT>Description:<DD> <b> bb</b> is used to manage the MODULEF library (or any other library with an identical structure).<P>The <i> key</i> is obligatory and indicates the action to be performed on the member ofa certain library.<P>It can be followed by <b> one</b> or <b> two</b> arguments:<P><DL COMPACT><DT>bb<DD> <i> key member</i><P>In this case, the search is performed in the MODULEF library in which the member is found by default.<P><DT>bb<DD> <i> key library member</i><P>In this case, all information necessary to locate the member is given.<P><DT>Example:<DD> To visualize (<b> r</b>ead) the source code of subroutine <b> readre</b>, type:<blockquote> <b> bb r readre</b><P>or<P><b> bb r util readre</b> </blockquote> </DL><P><DT>Keys (bb):<DD> <DL COMPACT><DT>c<DD> Copy the member into the current directory (except if the member exits already);<DT>cf<DD> Forcefully copy the member into the current directory;<DT>e<DD> Copy the member into the current directory and visualize is in the edit window. <DT>elm<DD> Link the member with MODULEF, for example:<blockquote> <b> B$ bb elm imagxx</b> </blockquote>creates the executable file <b> imagxx</b> and places it in directory <BR>[4]<b> $MR/$MM/$MV/bin</b>;<DT>eso<DD> This is equivalent to performing a <b> bb e</b> followed by a <b> bb so</b> (used when correcting a member quickly);<DT>ou<DD> Indicates where a member is located;<DT>r<DD> Visualizes the member in a read access only window. We can thus visualize a write protected member quickly;<DT>s<DD> Up-date the source when the current directory contains data to add or to replace in the library;<DT>so<DD> Up-date the source (as before), compilewith command <b> co1</b> (FORTRAN compiler) and up-date the corresponding object archive;<DT>d<DD> Delete the object and source file.<P> </DL><P>When using the options <b> s, so</b> and <b> d</b> all modifications are memorized in file <b> $MR/$MM/$MV/etc/maj.fo</b>.<P> </DL><P><P><P><H2><A NAME=SECTION05642000000000000000>5.3.2 bbg: global management of the library</A></H2><P><P><P><DL COMPACT><DT>Utilization:<DD> <b> bbg</b> <i> key member</i><P><DT>Description:<DD> <b> bb</b> is used to manage the MODULEF library (or any other library with an identical structure).<P>The <i> key</i> is obligatory and indicates the action to be performed on one or several complete MODULEF libraries.<P>It is followed by at the most <b> one</b> argument:<P><DL COMPACT><DT>bbg<DD> <i> key</i><P>Here, the action is performed on all the MODULEF libraries.<P><DT>bbg<DD> <i> key library</i><P>In this case, the action is performed on only the library specified.<P><DT>Example:<DD> To recompile the entire <b> util</b> library, type:<blockquote> <b> bbg co util</b></blockquote> </DL><P><DT>Keys (bbg):<DD> <P><DL COMPACT><DT>co<DD> Compile all the members of the library using a FORTRAN or C compiler; <DT>elm<DD> Link with all the members of the MODULEF library. For example:<P><blockquote> <b> B$ bbg elm ppal</b> </blockquote>creates all the executable files corresponding to the main programs residing in library <b> ppal</b>;<DT>t<DD> List the names of all the library members.<P> </DL> </DL><P><P><P><H2><A NAME=SECTION05643000000000000000>5.3.3 co1: compilation</A></H2><P><P><P><DL COMPACT><DT>Utilization:<DD> <b> co1</b> <i> [key] file</i><P>where<DL COMPACT><DT><i> key</i><DD> corresponds to the action to be performed (optional), and<DT><i> file</i><DD> corresponds to the file name of the file to be compiled.<P> </DL><P><DT>Description:<DD> <b> co1</b> compile files in FORTRAN or C, and generate the object file.<P><DT>Key (co1):<DD> <DL COMPACT><DT>-outdir<DD> <i> name</i> Place the object file in directory <i> name</i>. This key is not obligatory.<P> </DL> </DL><P><P><P><H2><A NAME=SECTION05644000000000000000>5.3.4 elm: linking</A></H2><P><P><P><DL COMPACT><DT>Utilization:<DD> <b> elm</b> <i> [keys ...] file ...</i><P><DT>Description:<DD> <b> elm</b> is practically identical to the standard UNIX linker <b> ld</b>. However, the following extensions have been added:<P><UL><LI> If the input file name does not end with <b> .o</b> this suffix is added automatically.<LI> The name of the output file is that of the first file specified (input), without its suffix (except if option <b> -o</b> <i> filename</i>, described below, is used).<LI> The link is always, by default, performed with the MODULEF library.</UL><P><DT>Keys (elm):<DD> <DL COMPACT><DT>-f<DD> <i> liblist</i> This option indicates which libraries to include during the link, and may appear anywherein the command.<P>Here <i> liblist</i> is either the name of the file containing the list of libraries to be included, or <i> liblist</i> is a variablewhose value is <b> sta</b> (name of the MODULEF version). If <i> liblist</i> = <b> sta</b>, the link is performed with the entire MODULEF library; <DT>-o<DD> <i> name</i> This option generates an executable with <i> name</i> as name;<DT>-only<DD> The MODULEF library is not taken into account during linking.<P> </DL><P><DT>Examples:<DD> <OL><LI> Consider the three files: <b> ppal.f, a.f</b> and <b> b.f</b>, whose contents look something like: <BR><P> <TABLE COLS=3 RULES=GROUPS><COL ALIGN=LEFT><COL ALIGN=LEFT><COL ALIGN=LEFT><TR><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP> PROGRAM PPAL </TD><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP> SUBROUTINE A </TD><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP> SUBROUTINE B </TD></TR><TR><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP> CALL A </TD><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP> WRITE(*,*) 'A' </TD><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP> WRITE(*,*) 'B' </TD></TR><TR><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP> CALL B </TD><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP> END </TD><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP> END </TD></TR><TR><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP> END </TD><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP> </TD></TR></TABLE><P>To compile these three files and creating the object files <b> ppal.o, a.o</b> and <b> b.o</b>, enter the command: <blockquote> <b> B$ co1 ppal.f ; co1 a.f ; co1 b.f</b></blockquote>(the semicolons are equivalent to carriage returns)<P>The executable file, <b> ppal</b>, is generated from the preceding three files, by typing:<blockquote> <b> B$ elm -only ppal a b</b></blockquote><P> <LI> To create the executable file, <b> ppal</b>, using all the <b> *.o</b> (object) files in the current directory as well as the MODULEF directories <b> utsd, util</b> and <b> util_apollo</b>, we first create a file <b> xx.ldo</b> containing:<blockquote> $MR/$MM/$MV/lib/libutsd.a<P> $MR/$MM/$MV/lib/libutil.a<P> $MR/$MM/$MV/lib/libutil_apollo.a </blockquote><P>and then type:<blockquote> <b> B$ elm -o ppal *.o -f xx.ldo</b> </blockquote><P> <LI> Instead of the above command, we can also type:<blockquote> <b> B$ elm -o ppal *.o </b> </blockquote>or else<blockquote> <b> B$ elm -o ppal *.o -f $MV</b></blockquote> but in this case a search is performed in <b> all</b> the MODULEF libraries, resulting inan increase in execution time.</OL> </DL><P><P><P><H2><A NAME=SECTION05645000000000000000>5.3.5 voir: visualize a source file</A></H2><P><P><P><DL COMPACT><DT>Utilization:<DD> <b> voir</b> <i> [option] file</i><P> where <DL COMPACT><DT><i> file</i><DD> corresponds to the path and file name.<P> </DL><P><DT>Description:<DD> <b> voir</b> visualizes a source file in an edit or read-only window, depending on the option specified.<P><DT>Options:<DD> <P><DL COMPACT><DT>-r<DD> read only;<DT>-*<DD> (dash not followed by <b> r</b>) edit;<DT>*<DD> (no dash) read only.<P> </DL><P><DT>Examples:<DD> <P>To read file <b> apnoxx.f</b> residing in library <b> ppal</b>, enter:<blockquote> <b> voir -r $ms/ppal/apnoxx.f</b></blockquote>However, it is in fact easier to use the <b> bb</b> (described earlier) command:<blockquote> <b> bb r apnoxx</b></blockquote>to read this file.<P>The advantage of the <b> voir</b> command over the <b> bb</b> command is that all files can be visualized and not only the MODULEF source files. For example:<blockquote> <b> voir $mb/bb</b> </blockquote>visualizes the shell file <b> $mb/bb</b>.<P> </DL><HR SIZE=3 WIDTH="75%"><IMG SRC="../icons/smallmod.gif" WIDTH=211 HEIGHT=50 ALIGN=BOTTOM ALT="Modulef"><A NAME=tex2html733 HREF="node45.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/previous_motif.gif" ALT="previous"></A><A NAME=tex2html739 HREF="node42.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/up_motif.gif" ALT="up"></A><A NAME=tex2html741 HREF="node47.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/next_motif.gif" ALT="next"></A><A NAME=tex2html743 HREF="node2.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/contents_motif.gif" ALT="contents"></A><A HREF="../Guide1-18/node46.html"><IMG BORDER=0 SRC="../icons/zoom18.gif" ALIGN=BOTTOM ALT="[BIG]"></A><A HREF="../Guide1-14/node46.html"><IMG BORDER=0 SRC="../icons/zoom14.gif" ALIGN=BOTTOM ALT="[Normal]"></A><A HREF="../Guide1-10/node46.html"><IMG BORDER=0 SRC="../icons/zoom10.gif" ALIGN=BOTTOM ALT="[small]"></A><BR><B> Next: </B> <A NAME=tex2html742 HREF="node47.html">5.4 Up-date of the MODULEF library </A><B>Up: </B> <A NAME=tex2html740 HREF="node42.html">5 Management under UNIX</A><B> Prev: </B> <A NAME=tex2html734 HREF="node45.html">5.2 Guidelines for software development</A><B><A HREF="node2.html" >Contents</A></B><BR> <HR><P><ADDRESS></ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -