5 - Enlazado


Tutorial creado por Guillem Borrell . Extraido de: http://torroja.dmt.upm.es:9673/Guillem_Site/Varios/compiladores
05 Noviembre 2006
""Una vez se han creado los archivos objeto de slsode, tiro_parabolico y problematiro tenemos que enlazarlos con un linker para crear el ejecutable.


GNU Fortran 95

Para realizar todo el proceso de compilación y enlazado con el compilador GNU Fortran abrimos una consola y nos situamos donde están todos los archivos de código fuente y escribimos los siguientes comandos:
> gfortran -c tiro_parabolico.f90 slsode.f problematiro.f90
In file slsode.f:3593

IF (INCX .EQ. INCY) IF (INCX-1) 5,20,60
1
Warning: Obsolete: arithmetic IF statement at (1)
In file slsode.f:3683

IF (INCX .EQ. INCY) IF (INCX-1) 5,20,60
1
Warning: Obsolete: arithmetic IF statement at (1)

> gfortran tiro_parabolico.o slsode.o problematiro.o
> a.exe

coord. x - coord. y - veloc. u - veloc. v - tiempo
0.9931067 0.9443293 9.863879 8.890494 0.1000000
1.973107 1.778831 9.737710 7.802993 0.2000000
2.940949 2.505577 9.620543 6.734952 0.3000000
3.897485 3.126395 9.511436 5.684084 0.4000000
4.843474 3.642899 9.409443 4.648350 0.5000000
5.779579 4.056512 9.313605 3.625965 0.6000000
6.706368 4.368490 9.222939 2.615413 0.7000000
7.624307 4.579950 9.136432 1.615462 0.8000001
8.533762 4.691906 9.053059 0.6251828 0.9000001
9.434990 4.705294 8.971790 -0.3560317 1.000000
10.32815 4.620996 8.891625 -1.328465 1.100000
11.21331 4.439896 8.811617 -2.292088 1.200000
12.09044 4.162890 8.730906 -3.246585 1.300000
12.95944 3.790915 8.648735 -4.191391 1.400000
13.82011 3.324977 8.564475 -5.125751 1.500000
14.67224 2.766164 8.477622 -6.048762 1.600000
15.51554 2.115657 8.387791 -6.959434 1.700000
16.34969 1.374742 8.294710 -7.856720 1.800000
17.17437 0.5448111 8.198214 -8.739567 1.900000
17.98923 -0.3726401 8.098217 -9.606936 2.000000

Salford FTN95

Para conseguir exactamente el mismo propósto con el compilador de Salford Software:
> ftn95 tiro_parabolico.f90
...
> ftn95 slsode.f
...
> ftn95 problematiro.f95
...
> slink tiro_parabolico.obj slsode.obj problematiro.obj -out:a.exe
...
> a.exe
coord. x - coord. y - veloc. u - veloc. v - tiempo
0.993107 0.944329 9.86388 8.89049 0.100000
1.97311 1.77883 9.73771 7.80299 0.200000
2.94095 2.50558 9.62054 6.73495 0.300000
3.89749 3.12639 9.51144 5.68408 0.400000
4.84347 3.64290 9.40944 4.64835 0.500000
5.77958 4.05651 9.31361 3.62596 0.600000
6.70637 4.36849 9.22294 2.61541 0.700000
7.62431 4.57995 9.13643 1.61546 0.800000
8.53376 4.69191 9.05306 0.625182 0.900000
9.43499 4.70529 8.97179 -0.356033 1.00000
10.3282 4.62099 8.89163 -1.32847 1.10000
11.2133 4.43989 8.81162 -2.29209 1.20000
12.0904 4.16289 8.73091 -3.24659 1.30000
12.9594 3.79091 8.64874 -4.19139 1.40000
13.8201 3.32498 8.56448 -5.12575 1.50000
14.6722 2.76616 8.47762 -6.04877 1.60000
15.5155 2.11566 8.38779 -6.95944 1.70000
16.3497 1.37474 8.29471 -7.85673 1.80000
17.1744 0.544809 8.19821 -8.73957 1.90000
17.9892 -0.372643 8.09822 -9.60694 2.00000
Como podemos apreciar, la herramienta de Salford diferencia entre el compilador y el enlazador; a diferencia del compilador GNU. También es apreciable que no nos podemos fiar del formato libre, cada compilador tiene el suyo.
""

Autor y licencia de 'Compilar... de verdad'


Tutorial de Guillem Borrell . Extraido de: http://torroja.dmt.upm.es:9673/Guillem_Site/Varios/compiladores CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.