Sophie

Sophie

distrib > Mandriva > 9.2 > i586 > by-pkgid > a804ef007a99f7d26cf24253c2994680 > files > 1567

howto-html-ja-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>From VMS to Linux HOWTO: $B%W%m%0%i%_%s%0(B </TITLE>
 <LINK HREF="VMS-to-Linux-HOWTO-6.html" REL=next>
 <LINK HREF="VMS-to-Linux-HOWTO-4.html" REL=previous>
 <LINK HREF="VMS-to-Linux-HOWTO.html#toc5" REL=contents>
</HEAD>
<BODY>
<A HREF="VMS-to-Linux-HOWTO-6.html">$B<!$N%Z!<%8(B</A>
<A HREF="VMS-to-Linux-HOWTO-4.html">$BA0$N%Z!<%8(B</A>
<A HREF="VMS-to-Linux-HOWTO.html#toc5">$BL\<!$X(B</A>
<HR>
<H2><A NAME="Programming"></A> <A NAME="s5">5. $B%W%m%0%i%_%s%0(B </A></H2>

<P>
<P>Linux $B$O%W%m%0%i%`$r:n$k$K$O(B<EM>$BNI$$(B</EM>$B4D6-$@$H;W$$$^$9!#%W%m%0%i%`$r4JC1(B
$B$KAGAa$/:n@.$9$k$?$a$NB?$/$N%D!<%k$,B7$C$F$$$^$9!#Nc$($P!"JT=8(B - $BJ]B8(B - 
$B%3%s%Q%$%k(B - $B:FJT=8$H$$$C$?C1D4$J:n6H$K$"$/$;$/$7$J$/$F$b!"(B
$BA0=R$N(B <CODE>emacs</CODE> $B$d(B <CODE>jed</CODE> $B$J$I$N%(%G%#%?!<$r;H$($P?WB.$K:n6H$G$-$^$9!#(B
<P>
<H2><A NAME="ss5.1">5.1 Fortran</A>
</H2>

<P>
<P>$B$"$^$jBg:9$J$$$N$G$9$,!"$3$NJ8=q$r=q$$$F$$$k;~E@$GMxMQ$G$-$k(B($B%U%j!<(B)$B%3%s(B
$B%Q%$%i!<$H(B VMS $B$H$G$O40A48_49$G$O$"$j$^$;$s(B - $B4v$D$+$N%^%$%J!<$J7Y9p$NH/@8$,M=A[$5$l$^$9(B( VMS $B$N%3%s%Q%$%i$OHsI8=`$N3HD%$r9T$J$C$F$$$k$N$G$9(B)$B!#(B
$B>\:Y$O(B <CODE>/usr/doc/g77/DOC</CODE> $B$+(B <CODE>/usr/doc/f2c/f2c.ps</CODE> $B$r8fMw$/$@$5$$!#(B
<P>$B%7%9%F%`4IM}<T$O!"(B<CODE>g77</CODE> $B%M%$%F%#%V%3%s%Q%$%i(B($B$9$0$l$b$N$G$9$,!"(B0.5.21 
$BHG$G$O$^$@(B DEC Fortran $B$H8_49@-$O$"$j$^$;$s(B)$B$+!"(BFortran $B$+$i(B C $B$X$N%H%i(B
$B%s%9%l!<%?$G$"$k(B <CODE>f2c</CODE> ($B5?;w%M%$%F%#%V%3%s%Q%$%i$N%U%m%s%H%(%s%I(B) $B$N(B
$B$I$A$i$+$r%$%s%9%H!<%k$7$F$$$k$O$:$G$9!#;d$N7P83$G$O!"(B<CODE>yaf77</CODE> $B$,:G$b(B
$BM%$l$?7k2L$r=P$9%Q%C%1!<%8$N0l$D$@$H;W$$$^$9!#(B
<P><CODE>g77</CODE> $B$G(B Fortran $B%W%m%0%i%`$r%3%s%Q%$%k$9$k$K$O!"%=!<%9$rJT=8$7$F!"(B
<CODE>.f</CODE> $B3HD%;R$r$D$1$FJ]B8$7$?8e!"(B
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ g77 myprog.f
</PRE>
</CODE></BLOCKQUOTE>
<P>$B$r<B9T$7$^$9!#(B
<P>$B%G%U%)%k%H$G$O!"(B<CODE>a.out</CODE> $B$NL>$G<B9T%U%!%$%k$,@8@.$5$l$^$9(B($BB>$K2?$b%j(B
$B%s%/$7$J$1$l$P(B)$B!#0[$J$C$?<B9T%U%!%$%kL>$K$7$F!":GE,2=%*%W%7%g%s$r$D$1$k$K(B
$B$O!"(B
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ g77 -O2 -o myprog myprog.f
</PRE>
</CODE></BLOCKQUOTE>

$B$H$7$^$9!#(B
<P>$B:GE,2=$K$OCm0U!*(B $B%7%9%F%`4IM}<T$K%3%s%Q%$%i$K$D$$$F$N%I%-%e%a%s%H$r0lFI$7$F$b$i$$!"LdBj$,$J$$$+$I$&$+3NG'$7$F$/$@$5$$!#(B
<P>$B%5%V%k!<%A%s$r%3%s%Q%$%k$9$k$K$O!"(B
<BLOCKQUOTE><CODE>
<PRE>
$ g77 -c mysub.f
</PRE>
</CODE></BLOCKQUOTE>
<P>$B$H$9$l$P!"(B<CODE>mysub.o</CODE> $B$,@8@.$5$l$^$9!#$3$N%5%V%k!<%A%s$r%j%s%/$9$k$K$O!"(B
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ g77 -o myprog myprog.f mysub.o
</PRE>
</CODE></BLOCKQUOTE>
<P>$B$H$7$F$/$@$5$$!#(B
<P>$B$?$/$5$s$N%5%V%k!<%A%s$,$"$C$F!"%i%$%V%i%j$K$^$H$a$?$$$J$i!"(B
<BLOCKQUOTE><CODE>
<PRE>
$ cd subroutines/
$ cat *f >mylib.f ; g77 -c mylib.f
</PRE>
</CODE></BLOCKQUOTE>
<P>$B$N$h$&$K$7$^$9!#(B
<P>$B$3$l$G$"$J$?$N%W%m%0%i%`$K%j%s%/2DG=$J(B <CODE>mylib.o</CODE> $B$,@8@.$5$l$^$9!#(B
$B:G8e$K!"30It%i%$%V%i%j(B <CODE>libdummy.so</CODE> $B$r%j%s%/$9$k$K$O!"(B
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ g77 -o myprog myprog.f -ldummy
</PRE>
</CODE></BLOCKQUOTE>
<P>$B$H$7$^$9!#(B
<P><CODE>f2c</CODE> $B$r$*;}$A$J$i!"(B<CODE>g77</CODE> $B$NBX$o$j$K(B <CODE>f77</CODE> $B$+(B <CODE>fort77</CODE> $B$N$_$r;H$&$3$H$G$7$g$&!#(B
<P>$B0J2<$G$O!"$5$i$K;H$$$d$9$$%W%m%0%i%_%s%0%D!<%k(B <CODE>make</CODE> $B$r>R2p$7$^$9!#(B
<P>
<H2><A NAME="ss5.2">5.2 <CODE>make</CODE> $B$N;H$$$+$?(B</A>
</H2>

<P>$B%f!<%F%#%j%F%#(B <CODE>make</CODE> $B$O!"J#?t$N%=!<%9%U%!%$%k$KJ,$+$l$?%W%m%0%i%`$N(B
$B%3%s%Q%$%k$K;H$&%D!<%k$G$9!#(BVMS $B$G$N(B <CODE>MMS</CODE> $B$H(B <CODE>MMK</CODE> 
$B$KAjEv$7$^$9$,!"9=J8$O0[$J$C$F$$$^$9!#(B
<P>$B%=!<%9%U%!%$%k(B <CODE>file_1.f , file_2.f , file_3.f</CODE> $B$H(B $B%a%$%s%W%m%0%i%`$N%=!<(B
$B%9(B <CODE>myprog.f</CODE> $B$,$"$k$H$7$^$7$g$&!#$3$l$i$N%W%m%0%i%`$r<j:n6H$G%3%s%Q(B
$B%$%k$9$k$H$J$k$H!"%=!<%9%U%!%$%k$N$I$l$+0l$D$rJQ99$7$?>l9g!"$=$l$H0MB84X(B
$B78$K$"$k%U%!%$%k$,$I$l$+$r9M$($F!"0l$D0l$D:F%3%s%Q%$%k$7$J$1$l$P$J$j$^$;$s!#(B
<P>$BF,$,JQ$K$J$kA0$K!V(B makefile $B!W$r:n$k$Y$-$G$9!#$3$l$O%=!<%9%U%!%$%kAj8_$N(B
$B0MB84X78$r5-=R$7$?%F%-%9%H%U%!%$%k$G$9(B - $B%=!<%9$,JQ99$5$l$?$i!"JQ99$5$l$?%U%!(B
$B%$%k$K0MB8$9$k%U%!%$%k$@$1$r:F%3%s%Q%$%k$7$F$/$l$^$9!#(B
<P>$B2f!9$NNc$G$O!"$3$s$JIw$K(B makefile $B$r:n$j$^$9!#(B
<P>
<HR>
<PRE>

# makefile $B$NNc$G$9!#(B
# &lt;TAB> $B$H=q$$$F$"$k$H$3$m$G$O(B &lt;TAB> $B%-!<$r2!$7$F$/$@$5$$!*(B
# $BBg@Z$J$3$H$G$9!'%9%Z!<%9$O%@%a$G$9$h!#(B

myprog: myprog.o file_1.o file_2.o file_3.o
&lt;TAB>g77 -o myprog myprog.o file_1.o file_2.o file_3.o

# myprog $B$O;M$D$N%*%V%8%'%/%H%U%!%$%k$K0MB8$7$^$9!#(B

myprog.o: myprog.f
&lt;TAB>g77 -c myprog.f
# myprog.o $B$O$=$l<+?H$N%=!<%9%U%!%$%k$K0MB8$7$^$9!#(B

file_1.o: file_1.f
&lt;TAB>g77 -c file_1.f
# file_1.o $B$O$=$l<+?H$N%=!<%9%U%!%$%k$K0MB8$7$^$9!#(B

file_2.o: file_2.f file_1.o
&lt;TAB>g77 -c file_2.f file_1.o
# file_2.o $B$O$=$l<+?H$N%=!<%9%U%!%$%k$H%*%V%8%'%/%H%U%!%$%k$K0MB8$7$^$9!#(B

file_3.o: file_3.f file_2.o
&lt;TAB>g77 -c file_3.f file_2.o
# file_3.o $B$O$=$l<+?H$N%=!<%9%U%!%$%k$H%*%V%8%'%/%H%U%!%$%k$K0MB8$7$^$9!#(B


# end of makefile.
</PRE>
<HR>
<P>$B$3$l$r(B <CODE>Makefile</CODE> $B$NL>$GJ]B8$7!"(B<CODE>make</CODE> $B$H%?%$%W$9$l$P%3%s%Q%$%k$G$-$^$9!#(B
$BBe$o$j$K!"%U%!%$%kL>$r(B <CODE>myprog.mak</CODE> $B$H$7$FJ]B8$7$?$J$i!"(B<CODE>make -f
myprog.mak</CODE> $B$G%3%s%Q%$%k$G$-$^$9!#$b$A$m$s(B RMP($BLuCm!'(Bman $B%Z!<%8$r;2>H$N(B
$B0U(B)$B!#(B
<P>
<H2><A NAME="ss5.3">5.3 $B%7%'%k%9%/%j%W%H(B</A>
</H2>

<P>
<P>$B%7%'%k%9%/%j%W%H$O(B VMS $B%3%^%s%I%U%!%$%k$HF1$8$b$N$G$9$,!"$h$j6/NO$J9=J8$rHw$($F$$$^$9!#(B
<P>$B%9%/%j%W%H$r=q$/$K$O!"$7$J$1$l$P$J$i$J$$$3$HA4$F$r%3%^%s%I$G5-=R$7$F!"I8=`(B
$B$N(B ASCII $B%U%!%$%k$KJ]B8$7$^$9!#<B9T$G$-$k$h$&$K$9$k$?$a$K!"(B<CODE>chmod +x &lt;$B%9%/%j%W%H%U%!%$%kL>(B></CODE> $B%3%^%s%I$r<B9T$7$F$*$$$F$/$@$5$$!#(B
$B%9%/%j%W%H%U%!%$%kL>$r%?%$%W$9$l$P<B9T$G$-$^$9!#(B
<P><CODE>bash</CODE> $B$G%9%/%j%W%H$r=q$/$K$O!"9-HO$J5!G=$rLVMe$7$?2r@bK\$,I,MW$K$J$k(B
$B$N$G!"$"$^$j?<$/$O8@5Z$7$^$;$s!#$3$3$G$OB?>/Jq3gE*$G!"(B($BK>$`$i$/$O(B)$BLr$KN)$D%5%s%W%k$+$i4v$D$+$N4pK\E*$J%k!<%k$rFI$_$H$C$F$/$@$5$$!#(B
<P> $B%5%s%W%k!'(Bsample.sh
<HR>
<PRE>
#!/bin/sh
# sample.sh
# $B%3%a%s%H9T$G$9!#(B
# $B:G=i$N9T$O>C$5$J$$$G!"I,$:$=$3$K$J$1$l$P$J$j$;$s!#(B
echo "This system is: `uname -a`" # use the output of the commad
echo "My name is $0" # built-in variables
echo "You gave me the following $# parameters: "$*
echo "First parameter is: "$1
echo -n "What's your name? " ; read your_name
echo notice the difference: "hi $your_name" # quoting with "
echo notice the difference: 'hi $your_name' # quoting with '
DIRS=0 ; FILES=0
for file in `ls .` ; do
  if [ -d ${file} ] ; then # if file is a directory
    DIRS=`expr $DIRS + 1`  # this means DIRS = DIRS + 1
  elif [ -f ${file} ] ; then
    FILES=`expr $FILES + 1`
  fi
  case ${file} in
    *.gif|*jpg) echo "${file}: graphic file" ;;
    *.txt|*.tex) echo "${file}: text file" ;;
    *.c|*.f|*.for) echo "${file}: source file" ;;
    *) echo "${file}: generic file" ;;
  esac
done
echo "there are ${DIRS} directories and ${FILES} files"
ls | grep "ZxY--!!!WKW"
if [ $? != 0 ] ; then # exit code of last command
  echo "ZxY--!!!WKW not found"
fi
echo "enough... type 'man bash' if you want more info."
</PRE>
<HR>
<P>
<H2><A NAME="C"></A> <A NAME="ss5.4">5.4 C </A>
</H2>

<P>
<P>Linux $B$O!"(BC $B$G%W%m%0%i%`$r3+H/$9$k$K$O$9$P$i$7$$4D6-$G$9!#(BC $B$K$D(B
$B$$$F$O$4B8CN$@$H;W$$$^$9$N$G!"$3$3$G$O%,%$%I%i%$%s$K$D$$$F=R$Y$^$7$g$&!#(B
$BDjHV$N(B <CODE>hello.c</CODE> $B$r(B Linux $B$N0lIt$H$b8@$($k(B <CODE>gcc</CODE> $B$G%3%s%Q%$%k$9$k$K$O!"(B
<CODE>g77</CODE> $B$HF1$89=J8$r;H$$$^$9!#(B
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ gcc -O2 -o hello hello.c
</PRE>
</CODE></BLOCKQUOTE>
<P>$B%W%m%0%i%`$K%i%$%V%i%j$r%j%s%/$9$k$K$O!"%9%$%C%A(B 
<CODE>-l&lt;libname&gt;</CODE> $B$r2C$($^$9!#Nc$($P!"?t3X%i%$%V%i%j$H:GE,(B
$B2=%*%W%7%g%s$rIU$1$F%j%s%/$9$k$K$O!"(B
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ gcc -O2 -o mathprog mathprog.c -lm
</PRE>
</CODE></BLOCKQUOTE>
<P>$B$N$h$&$K$7$^$9!#(B
<P>( <CODE>-l&lt;libname&gt;</CODE> $B%9%$%C%A$O!"(B
<CODE>/usr/lib/lib&lt;libname&gt;.a</CODE> $B$r0l=o$K%j%s%/$7$m$H$$$&$3$H$G!"(B
$B=>$C$F(B <CODE>-lm</CODE> $B$O(B <CODE>/usr/lib/libm.a</CODE> $B$HF1$80UL#$K$J$j$^$9(B)$B!#(B
<P>$B%W%m%0%i%`$,J#?t$N%U%!%$%k$+$i9=@.$5$l$k>l9g$O!"A0=R$7$?$h$&$K(B <CODE>make</CODE> 
$B%f!<%F%#%j%F%#$,I,MW$H$J$k$G$7$g$&!#EvA3!"(Bmakefile $B$K5-=R$5$l$?%=!<(B
$B%9%U%!%$%k$H(B <CODE>gcc</CODE> $B$r;H$$$^$9!#(B
<P>man $B%Z!<%8$N%;%/%7%g%s(B 3 $B$K5-:\$5$l$F$$$k(B C $B$N4X?t$K$D$$$F$N%X%k%W$r8F$S(B
$B=P$9$3$H$,$G$-$^$9!#Nc$($P<!$N$h$&$K$7$^$9!#(B
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ man 3 printf
</PRE>
</CODE></BLOCKQUOTE>
<P>$B;HMQ2DG=$J%i%$%V%i%j$O;3$[$I$"$j$^$9$,!"Cf$G$b!"%F%-%9%H%b!<%I$G3F<o$N8z(B
$B2L$r=P$9$?$a$N(B <CODE>ncurses</CODE> $B$H!"%0%i%U%#%C%/%9IA2hMQ$N(B <CODE>svgalib</CODE> $B$J$I(B
$B$r:G=i$K;H$$$?$$$N$G$O$J$$$G$9$+!#(B
<P>
<HR>
<A HREF="VMS-to-Linux-HOWTO-6.html">$B<!$N%Z!<%8(B</A>
<A HREF="VMS-to-Linux-HOWTO-4.html">$BA0$N%Z!<%8(B</A>
<A HREF="VMS-to-Linux-HOWTO.html#toc5">$BL\<!$X(B</A>
</BODY>
</HTML>