Underc0de

Programación General => C / C++ => Mensaje iniciado por: avesudra en Enero 04, 2013, 08:41:38 PM

Título: [TUTORIAL]Como compilar GMP 5.1.0(The GNU Multiple Precision Arithmetic Library)
Publicado por: avesudra en Enero 04, 2013, 08:41:38 PM
Como compilar GMP 5.1.0(The GNU Multiple Precision Arithmetic Library)
Está estrictamente prohibido sin mi permiso copiar íntegramente el tutorial ya que ha sido un trabajo traducir la página de GMP y actualizar el antiguo tutorial que tenía, si puedes, sin embargo, basarte en él.
How to build GMP 5.1.0
¿Que es GMP?
GMP es una librería libre para operaciones aritméticas de precisión arbitraria, operando con enteros con signo, números racionales, y números de punto flotante. No hay un  límite para la precisión excepto la memoria disponible en la máquina donde se está ejecutando GMP. GMP tiene un rico set de funciones, y las funciones tienen una interfaz regular.Las principales aplicaciones de GMP son aplicaciones de criptografía e investigación, aplicaciones de seguridad de Internet, sistemas algebraicos, álgebra computacional de investigación, etc.

GMP está cuidadosamente diseñado para ser lo más rápido posible,  para pequeños y enormes operandos. La velocidad se logra mediante el uso de fullwords y con el tipo de aritmética básica, utilizando algoritmos rápidos, con alta optimización en código assembler en la mayoría de los bucles internos comunes para un montón de CPUs, y haciendo un énfasis general en la velocidad.

El lanzamiento de GMP se hizo en 1991. Está continuamente desarrollada y mantenida, con un nuevo lanzamiento cada año aproximadamente.GMP está distribuida bajo la licencia GNU LGPL. Esta licencia hace que la librería sea libre de usar, compartir, y mejorar además te permite  transmitir el resultado. La licencia da libertades, pero también establece restricciones firmes en el uso de programas no libres.

GMP es parte del proyecto GNU. Para más información sobre el proyecto GNU, por favor echa un vistazo al sitio web oficial de GNU.El objetivo principal de GMP son sistemas de tipo Unix, como GNU/Linux, Solaris, HP-UX, Mac Os X/Darwin, BSD, AIX, etc. Además se sabe que funciona en Windows en los modos de 32 bits y de 64 bits.

Categorías de  funciones de GMP

Hay varias categorías de funciones en GMP:

Compilando


Bueno después de todo este mamotreto vamos al lío. Para este tutorial se utilizará:

Además de todo eso creo que no hace falta decir que el compilador debe estar puesto en la variable path etc...

Comencemos pues, nos bajamos el código fuente de GMP desde su página principal www.gmplib.org:
(http://imageshack.us/a/img580/1929/gmp1.jpg)

Lo guardamos y lo descomprimimos. Lo mejor es dejar el código fuente en C:\ para compilarlo, así el compilador no se lía y no tenemos que andar con errores inesperados.Bien ahora vamos y ejecutamos MSYS desde el menú de inicio o desde la propia carpeta(si tienes Windows 8 haz esto), la cual es en cuestión:

C:\MinGW\msys\1.0

Y ejecutamos el archivo msys.bat (Archivo por lotes ejecutable), y nos saldrá una consola negra parecida al cmd de Windows.En esta consola tecleamos(cd "C:\gmp-5.1.0\gmp-5.1.0").Después de tipear eso le damos al intro y estaremos en la carpeta del código fuente:
(http://imageshack.us/a/img191/7761/gmp3.jpg)
Después de eso tipeamos: ./configure --prefix=${gmp_install}
Cuando termine veremos esto:
(http://imageshack.us/a/img546/558/gmp4.jpg)
Ahora tipeamos: make (esto lleva algo de tiempo)
Terminará así(sin lo ultimo que pone make install):
(http://imageshack.us/a/img202/9513/gmp5z.jpg)
Cuando finalize tipeamos: make install (como está en la imagen de arriba)
Ya una vez terminado este ultimo proceso veremos esto:
(http://imageshack.us/a/img713/2598/gmp6.jpg)

Ahora cerramos la consola y creamos una carpeta en cualquier otro lado y nos vamos a C:\gmp-5.1.0\gmp-5.1.0.Una vez ahí copiamos los siguientes archivos a la otra carpeta que creamos:

Después nos vamos a la carpeta .libs que estaba dentro de la anterior cuya dirección es esta: C:\gmp-5.1.0\gmp-5.1.0\.libs y copiamos este archvo a la carpeta donde copiamos los anteriores:

¡Y ya está listo! Ahora puedes incluir el archivo de cabecera gmp.h y empezar a leer el manual para poder hacer algo útil, al compilar tienes que enlazar con la librería libgmp.a


¡Saludos otro día explicaré un poquito de GMP!

PD: no se enfadeis los de linux , dentro de poco intentaré hacer un tuto para ubuntu.
Título: Re:[TUTORIAL]Como compilar GMP 5.1.0
Publicado por: ANTRAX en Enero 04, 2013, 09:10:11 PM
Excelente aporte! Muchisimas gracias bro!
Título: Re:[TUTORIAL]Como compilar GMP 5.1.0(The GNU Multiple Precision Arithmetic Library)
Publicado por: avesudra en Enero 05, 2013, 10:12:14 AM
De nada ANTRAX , a ver si cuando pueda pongo un programilla compilado con esto , para que vean el potencial de esta librería.

¡Un saludo!
Título: Re:[TUTORIAL]Como compilar GMP 5.1.0(The GNU Multiple Precision Arithmetic Library)
Publicado por: Pr0ph3t en Enero 05, 2013, 10:28:16 AM
Excelente aporte avesudra, me gusta tu manera de redactar. Un saludo ;)
Título: Re:[TUTORIAL]Como compilar GMP 5.1.0(The GNU Multiple Precision Arithmetic Library)
Publicado por: sr.mcbecker en Enero 05, 2013, 01:05:23 PM
Ya ves esta currado podrías hacer tutoriales guappos avanzados xD
Título: Re:[TUTORIAL]Como compilar GMP 5.1.0(The GNU Multiple Precision Arithmetic Library)
Publicado por: avesudra en Enero 05, 2013, 01:57:26 PM
Gracias a los dos, sr.mcbecker ¿avanzados?a que te refieres  :o no soy Dennis Ritchie  :-\ . Pr0ph3t la de redactar  ;D me sorpendeis la verdad, la de redactar no se, lo que he escrito es sólo la parte de compilando hacia abajo, lo de que es gmp y eso es traducido de la pagina oficial.