ページ更新: 2004-04-09 (金) (5212日前)

Hello Worldを試してみた。

$ cygcheck -cd cygwin gcc-g77
cygwin               1.5.9-1
gcc-g77              3.3.1-3

The Hello World Collection
http://www.roesler-ac.de/wolfram/hello.htm#Fortran

$ g77 -v -o hello hello.f
Driving: g77 -v -o hello hello.f -lfrtbegin -lg2c
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/specs
Configured with: /GCC/gcc-3.3.1-3/configure --with-gcc --with-gnu-ld --with-gnu-as --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/sbin --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,f77,pascal,java,objc --enable-libgcj --enable-threads=posix --with-system-zlib --enable-nls --without-included-gettext --enable-interpreter --enable-sjlj-exceptions --disable-version-specific-runtime-libs --enable-shared --disable-win32-registry --enable-java-gc=boehm --disable-hash-synchronization --verbose --target=i686-pc-cygwin --host=i686-pc-cygwin --build=i686-pc-cygwin
Thread model: posix
gcc version 3.3.1 (cygming special)
 /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/f771.exe hello.f -quiet -dumpbase hello.f -auxbase hello -version -o /e/Temp/ccxKp76s.s
GNU F77 version 3.3.1 (cygming special) (i686-pc-cygwin)
	compiled by GNU C version 3.3.1 (cygming special).
GGC heuristics: --param ggc-min-expand=82 --param ggc-min-heapsize=98222
 /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../../i686-pc-cygwin/bin/as.exe --traditional-format -o /e/Temp/ccmpcQcR.o /e/Temp/ccxKp76s.s
 /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/collect2.exe -Bdynamic --dll-search-prefix=cyg -o hello.exe /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../crt0.o /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/crtbegin.o -L/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1 -L/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../.. /e/Temp/ccmpcQcR.o -lfrtbegin -lg2c -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/crtend.o
$ ar x /usr/lib/libfrtbegin.a
$ objdump -t frtbegin.o

frtbegin.o:     ファイル形式 pe-i386

SYMBOL TABLE:
[  0](sec -2)(fl 0x00)(ty   0)(scl 103) (nx 1) 0x00000000 main.c
File 
[  2](sec  1)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 _main
[  3](sec  1)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .text
AUX scnlen 0x4e nreloc 9 nlnno 0
[  5](sec  2)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .data
AUX scnlen 0x0 nreloc 0 nlnno 0
[  7](sec  3)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .bss
AUX scnlen 0x0 nreloc 0 nlnno 0
[  9](sec  0)(fl 0x00)(ty  20)(scl   2) (nx 1) 0x00000000 ___main
AUX tagndx 0 ttlsiz 0x0 lnnos 0 next 0
[ 11](sec  0)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __alloca
[ 12](sec  0)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 _exit
[ 13](sec  0)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 _MAIN__
[ 14](sec  0)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 _f_exit
[ 15](sec  0)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 _atexit
[ 16](sec  0)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 _f_init
[ 17](sec  0)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 _f_setsig
[ 18](sec  0)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 _f_setarg
$ objdump -S frtbegin.o
frtbegin.o:     ファイル形式 pe-i386

セクション .text の逆アセンブル:

00000000 <_main>:
  : (略)