GNU MP the GNU Multiple Precision Arithmetic Library Edition 6.1.2 16 December 2016

Total Page:16

File Type:pdf, Size:1020Kb

GNU MP the GNU Multiple Precision Arithmetic Library Edition 6.1.2 16 December 2016 GNU MP The GNU Multiple Precision Arithmetic Library Edition 6.1.2 16 December 2016 by Torbj¨ornGranlund and the GMP development team This manual describes how to install and use the GNU multiple precision arithmetic library, version 6.1.2. Copyright 1991, 1993-2016 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being \A GNU Manual", and with the Back-Cover Texts being \You have freedom to copy and modify this GNU Manual, like GNU software". A copy of the license is included in Appendix C [GNU Free Documentation License], page 128. i Table of Contents GNU MP Copying Conditions ::::::::::::::::::::::::::::::::::: 1 1 Introduction to GNU MP :::::::::::::::::::::::::::::::::::: 2 1.1 How to use this Manual ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 2 2 Installing GMP :::::::::::::::::::::::::::::::::::::::::::::::: 3 2.1 Build Options ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.2 ABI and ISA :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 2.3 Notes for Package Builds ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 11 2.4 Notes for Particular Systems ::::::::::::::::::::::::::::::::::::::::::::::::::::: 12 2.5 Known Build Problems ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 14 2.6 Performance optimization :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 15 3 GMP Basics :::::::::::::::::::::::::::::::::::::::::::::::::: 17 3.1 Headers and Libraries :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 17 3.2 Nomenclature and Types ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 17 3.3 Function Classes ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 18 3.4 Variable Conventions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 18 3.5 Parameter Conventions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 19 3.6 Memory Management :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 20 3.7 Reentrancy::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 20 3.8 Useful Macros and Constants ::::::::::::::::::::::::::::::::::::::::::::::::::::: 21 3.9 Compatibility with older versions ::::::::::::::::::::::::::::::::::::::::::::::::: 21 3.10 Demonstration programs :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 21 3.11 Efficiency ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 22 3.12 Debugging :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 24 3.13 Profiling :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 26 3.14 Autoconf:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 27 3.15 Emacs :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 28 4 Reporting Bugs::::::::::::::::::::::::::::::::::::::::::::::: 29 5 Integer Functions::::::::::::::::::::::::::::::::::::::::::::: 30 5.1 Initialization Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 30 5.2 Assignment Functions :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 31 5.3 Combined Initialization and Assignment Functions :::::::::::::::::::::::::::::::: 31 5.4 Conversion Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 32 5.5 Arithmetic Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 33 5.6 Division Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 33 5.7 Exponentiation Functions :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 35 5.8 Root Extraction Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 36 5.9 Number Theoretic Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::: 37 5.10 Comparison Functions::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 39 5.11 Logical and Bit Manipulation Functions ::::::::::::::::::::::::::::::::::::::::: 39 5.12 Input and Output Functions::::::::::::::::::::::::::::::::::::::::::::::::::::: 40 5.13 Random Number Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::: 41 ii GNU MP 6.1.2 5.14 Integer Import and Export :::::::::::::::::::::::::::::::::::::::::::::::::::::: 42 5.15 Miscellaneous Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 43 5.16 Special Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 44 6 Rational Number Functions ::::::::::::::::::::::::::::::::: 46 6.1 Initialization and Assignment Functions :::::::::::::::::::::::::::::::::::::::::: 46 6.2 Conversion Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 47 6.3 Arithmetic Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 47 6.4 Comparison Functions :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 48 6.5 Applying Integer Functions to Rationals :::::::::::::::::::::::::::::::::::::::::: 48 6.6 Input and Output Functions :::::::::::::::::::::::::::::::::::::::::::::::::::::: 49 7 Floating-point Functions::::::::::::::::::::::::::::::::::::: 50 7.1 Initialization Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 50 7.2 Assignment Functions :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 52 7.3 Combined Initialization and Assignment Functions :::::::::::::::::::::::::::::::: 53 7.4 Conversion Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 53 7.5 Arithmetic Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 54 7.6 Comparison Functions :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 55 7.7 Input and Output Functions :::::::::::::::::::::::::::::::::::::::::::::::::::::: 55 7.8 Miscellaneous Functions :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 56 8 Low-level Functions :::::::::::::::::::::::::::::::::::::::::: 58 8.1 Low-level functions for cryptography:::::::::::::::::::::::::::::::::::::::::::::: 65 8.2 Nails ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 68 9 Random Number Functions ::::::::::::::::::::::::::::::::: 70 9.1 Random State Initialization :::::::::::::::::::::::::::::::::::::::::::::::::::::: 70 9.2 Random State Seeding ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 71 9.3 Random State Miscellaneous ::::::::::::::::::::::::::::::::::::::::::::::::::::: 71 10 Formatted Output :::::::::::::::::::::::::::::::::::::::::: 72 10.1 Format Strings :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 72 10.2 Functions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 74 10.3 C++ Formatted Output::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 75 11 Formatted Input :::::::::::::::::::::::::::::::::::::::::::: 77 11.1 Formatted Input Strings::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 77 11.2 Formatted Input Functions :::::::::::::::::::::::::::::::::::::::::::::::::::::: 79 11.3 C++ Formatted Input :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 79 12 C++ Class Interface :::::::::::::::::::::::::::::::::::::::: 81 12.1 C++ Interface General :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 81 12.2 C++ Interface Integers :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 82 12.3 C++ Interface Rationals :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 84 12.4 C++ Interface Floats ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 85 12.5 C++ Interface Random Numbers:::::::::::::::::::::::::::::::::::::::::::::::: 87 12.6 C++ Interface Limitations :::::::::::::::::::::::::::::::::::::::::::::::::::::: 88 13 Custom Allocation :::::::::::::::::::::::::::::::::::::::::: 90 iii 14 Language Bindings :::::::::::::::::::::::::::::::::::::::::: 92 15 Algorithms :::::::::::::::::::::::::::::::::::::::::::::::::: 94 15.1 Multiplication ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 94 15.1.1 Basecase Multiplication::::::::::::::::::::::::::::::::::::::::::::::::::::: 94 15.1.2 Karatsuba Multiplication ::::::::::::::::::::::::::::::::::::::::::::::::::: 95 15.1.3 Toom 3-Way Multiplication::::::::::::::::::::::::::::::::::::::::::::::::: 96 15.1.4 Toom 4-Way Multiplication::::::::::::::::::::::::::::::::::::::::::::::::: 98 15.1.5 Higher degree Toom'n'half :::::::::::::::::::::::::::::::::::::::::::::::::: 98 15.1.6 FFT Multiplication::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 98 15.1.7 Other Multiplication :::::::::::::::::::::::::::::::::::::::::::::::::::::: 100 15.1.8 Unbalanced Multiplication::::::::::::::::::::::::::::::::::::::::::::::::: 100 15.2 Division Algorithms :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 101 15.2.1 Single Limb Division :::::::::::::::::::::::::::::::::::::::::::::::::::::: 101 15.2.2 Basecase Division ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 101 15.2.3 Divide and Conquer Division :::::::::::::::::::::::::::::::::::::::::::::: 102 15.2.4 Block-Wise Barrett Division ::::::::::::::::::::::::::::::::::::::::::::::: 102 15.2.5 Exact Division :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 102 15.2.6 Exact Remainder:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 103 15.2.7 Small Quotient Division ::::::::::::::::::::::::::::::::::::::::::::::::::: 104 15.3 Greatest Common Divisor :::::::::::::::::::::::::::::::::::::::::::::::::::::: 104
Recommended publications
  • The Design of a Pascal Compiler Mohamed Sharaf, Devaun Mcfarland, Aspen Olmsted Part I
    The Design of A Pascal Compiler Mohamed Sharaf, Devaun McFarland, Aspen Olmsted Part I Mohamed Sharaf Introduction The Compiler is for the programming language PASCAL. The design decisions Concern the layout of program and data, syntax analyzer. The compiler is written in its own language. The compiler is intended for the CDC 6000 computer family. CDC 6000 is a family of mainframe computer manufactured by Control Data Corporation in the 1960s. It consisted of CDC 6400, CDC 6500, CDC 6600 and CDC 6700 computers, which all were extremely rapid and efficient for their time. It had a distributed architecture and was a reduced instruction set (RISC) machine many years before such a term was invented. Pascal Language Imperative Computer Programming Language, developed in 1971 by Niklaus Wirth. The primary unit in Pascal is the procedure. Each procedure is represented by a data segment and the program/code segment. The two segments are disjoint. Compiling Programs: Basic View Machine Pascal languag program Pascal e compile program filename . inpu r gp output a.out p t c Representation of Data Compute all the addresses at compile time to optimize certain index calculation. Entire variables always are assigned at least one full PSU “Physical Storage Unit” i.e CDC6000 has ‘wordlength’ of 60 bits. Scalar types Array types the first term is computed by the compiler w=a+(i-l)*s Record types: reside only within one PSU if it is represented as packed. If it is not packed its size will be the size of the largest possible variant. Data types … Powerset types The set operations of PASCAL are realized by the conventional bit-parallel logical instructions ‘and ‘ for intersection, ‘or’ for union File types The data transfer between the main store buffer and the secondary store is performed by a Peripheral Processor (PP).
    [Show full text]
  • Screenshot Showcase 1
    Volume 125 June, 2017 VirtualBox: Going Retro On PCLinuxOS Inkscape Tutorial: Creating Tiled Clones, Part Three An Un-feh-gettable Image Viewer Game Zone: Sunless Sea PCLinuxOS Family Member Spotlight: arjaybe GOG's Gems: Star Trek 25th Anniversary Tip Top Tips: HDMI Sound On Encrypt VirtualBox Virtual Machines PCLinuxOS Recipe Corner PCLinuxOS Magazine And more inside ... Page 1 In This Issue... 3 From The Chief Editor's Desk... Disclaimer 4 Screenshot Showcase 1. All the contents of The PCLinuxOS Magazine are only for general information and/or use. Such contents do not constitute advice 5 An Un-feh-gettable Image Viewer and should not be relied upon in making (or refraining from making) any decision. Any specific advice or replies to queries in any part of the magazine is/are the person opinion of such 8 Screenshot Showcase experts/consultants/persons and are not subscribed to by The PCLinuxOS Magazine. 9 Inkscape Tutorial: Create Tiled Clones, Part Three 2. The information in The PCLinuxOS Magazine is provided on an "AS IS" basis, and all warranties, expressed or implied of any kind, regarding any matter pertaining to any information, advice 11 ms_meme's Nook: Root By Our Side or replies are disclaimed and excluded. 3. The PCLinuxOS Magazine and its associates shall not be liable, 12 PCLinuxOS Recipe Corner: Skillet Chicken With Orzo & Olives at any time, for damages (including, but not limited to, without limitation, damages of any kind) arising in contract, rot or otherwise, from the use of or inability to use the magazine, or any 13 VirtualBox: Going Retro On PCLinuxOS of its contents, or from any action taken (or refrained from being taken) as a result of using the magazine or any such contents or for any failure of performance, error, omission, interruption, 30 Screenshot Showcase deletion, defect, delay in operation or transmission, computer virus, communications line failure, theft or destruction or unauthorized access to, alteration of, or use of information 31 Tip Top Tips: HDMI Sound On contained on the magazine.
    [Show full text]
  • GNU MP the GNU Multiple Precision Arithmetic Library Edition 6.2.1 14 November 2020
    GNU MP The GNU Multiple Precision Arithmetic Library Edition 6.2.1 14 November 2020 by Torbj¨ornGranlund and the GMP development team This manual describes how to install and use the GNU multiple precision arithmetic library, version 6.2.1. Copyright 1991, 1993-2016, 2018-2020 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being \A GNU Manual", and with the Back-Cover Texts being \You have freedom to copy and modify this GNU Manual, like GNU software". A copy of the license is included in Appendix C [GNU Free Documentation License], page 132. i Table of Contents GNU MP Copying Conditions :::::::::::::::::::::::::::::::::::: 1 1 Introduction to GNU MP ::::::::::::::::::::::::::::::::::::: 2 1.1 How to use this Manual :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 2 2 Installing GMP ::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.1 Build Options:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.2 ABI and ISA :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 2.3 Notes for Package Builds:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 11 2.4 Notes for Particular Systems :::::::::::::::::::::::::::::::::::::::::::::::::::::: 12 2.5 Known Build Problems ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 14 2.6 Performance
    [Show full text]
  • DOS Virtualized in the Linux Kernel
    DOS Virtualized in the Linux Kernel Robert T. Johnson, III Abstract Due to the heavy dominance of Microsoft Windows® in the desktop market, some members of the software industry believe that new operating systems must be able to run Windows® applications to compete in the marketplace. However, running applications not native to the operating system generally causes their performance to degrade significantly. When the application and the operating system were written to run on the same machine architecture, all of the instructions in the application can still be directly executed under the new operating system. Some will only need to be interpreted differently to provide the required functionality. This paper investigates the feasibility and potential to speed up the performance of such applications by including the support needed to run them directly in the kernel. In order to avoid the impact to the kernel when these applications are not running, the needed support was built as a loadable kernel module. 1 Introduction New operating systems face significant challenges in gaining consumer acceptance in the desktop marketplace. One of the first realizations that must be made is that the majority of this market consists of non-technical users who are unlikely to either understand or have the desire to understand various technical details about why the new operating system is “better” than a competitor’s. This means that such details are extremely unlikely to sway a large amount of users towards the operating system by themselves. The incentive for a consumer to continue using their existing operating system or only upgrade to one that is backwards compatible is also very strong due to the importance of application software.
    [Show full text]
  • Open WATCOM Programmer's Guide
    this document downloaded from... Use of this document the wings of subject to the terms and conditions as flight in an age stated on the website. of adventure for more downloads visit our other sites Positive Infinity and vulcanhammer.net chet-aero.com Watcom FORTRAN 77 Programmer's Guide Version 1.8 Notice of Copyright Copyright 2002-2008 the Open Watcom Contributors. Portions Copyright 1984-2002 Sybase, Inc. and its subsidiaries. All rights reserved. Any part of this publication may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without the prior written permission of anyone. For more information please visit http://www.openwatcom.org/ Portions of this manual are reprinted with permission from Tenberry Software, Inc. ii Preface The Watcom FORTRAN 77 Programmer's Guide includes the following major components: · DOS Programming Guide · The DOS/4GW DOS Extender · Windows 3.x Programming Guide · Windows NT Programming Guide · OS/2 Programming Guide · Novell NLM Programming Guide · Mixed Language Programming · Common Problems Acknowledgements This book was produced with the Watcom GML electronic publishing system, a software tool developed by WATCOM. In this system, writers use an ASCII text editor to create source files containing text annotated with tags. These tags label the structural elements of the document, such as chapters, sections, paragraphs, and lists. The Watcom GML software, which runs on a variety of operating systems, interprets the tags to format the text into a form such as you see here. Writers can produce output for a variety of printers, including laser printers, using separately specified layout directives for such things as font selection, column width and height, number of columns, etc.
    [Show full text]
  • Appendix A: Compiler Porting Tools
    Appendix A: Compiler Porting Tools Vector Pascal is an open-source project. It aims to create a productive and efficient program development environment for SIMD programming. In order to validate the concepts it has been developed initially for the Intel family of processors running Linux and Microsoft Windows. However, it has been intended from the outset that the technology should be portable to other families of CPUs. This Appendix addresses some of the issues involved in porting the compiler to new systems. A.1 Dependencies The Vector Pascal compiler tool-set can be divided along two axes as shown in Figure A.l. 1. Tools can be divided into (a) those provided as part of the release and (b) those provided as part of the operating environment. (a) These are mainly written in Java, the exceptions being a small run-time library in C, a Pascal System unit and several machine descriptions. (b) These are all available as standard under Linux, and Windows versions are freely downloadable from the web. 2. Tools can further be divided into (a) those required for program prepara­ tion and documentation, (b) those for code translation tools and (c) those for code generator preparation. (a) The program preparation tools are the VIPER IDE described in Chapter 16, along with the standard IM_EX document preparation system, DVI viewers and the TTH tool to prepare web-enabled versions of Vector Pascal program descriptions. (b) The program translation tools are: i. The i l c g . p a s c a l Java package which contains the Pascal compiler itself and classes to support Pascal-type declarations.
    [Show full text]
  • Cygwin Information.Pages
    The Cygwin distribution Caia under Windows For those of you, who don’t want to install Linux on your computer, it is possible to install and use Cygwin. Cygwin emulates Linux and starts up with the bash terminal shell. This makes it possible to compile and link GNU sources in the same way as under Linux. You can use the same makefiles and it produces, of course, Windows executables. Some knowledge about Linux is necessary! For more information and downloads, please see: www.cygwin.com. What is Cygwin needed for? Well, for the players, referee and manager it actually doesn’t matter. They can be compiled and linked in the normal way: C source can be build with DJGPP or DEV C++, Pascal source with Freepascal. However, the caiaio must be created with Cygwin in order to let things work properly. Which version of Cygwin do I need? We have precompiled and linked our executables with cygwin1.dll file version 1005.25.0.0. That one was included in the distribution of 29 December 2007. Make sure you use an update of Cygwin which is the same or newer. How to install Caia? In exactly the same way as in the Linux distribution: • tar –xzf caia_<namegame>_cygwin.tar.gz • caia_install_<namegame>/install_game.sh <namegame> Differences The Cygwin distribution is almost the same as the Linux distribution. The differences are: • The executables are compiled and linked for Windows. • The names of the executables need to have .exe as a suffix • The time measurements are less accurate under Cygwin. Whereas under Linux time is measured in microseconds, under Cygwin it is accurate up to 55 milliseconds.
    [Show full text]
  • Declaring Function in Pascal
    Declaring Function In Pascal Nonpolar Pate colonizing some ademption and decipher his bacchius so Christianly! Ropey Niall sometimes hiked any astrology bines supereminently. Rad unhasp ineffably? This is that feature pointers it in function that they can opt to read that would have to be empty space should serve as Pascal Language Reference 5 Program Declarations. Functions are discussed later spring we always see that procedures are always placed. Basic PASCAL Programming. When they declare Delphi routines that no array parameters you can't. When it can retrieve data types of view, and detrimental to implement it is called destroy in. Enter a feature can it nicely with pascal pascal function in pascal adopted the b are global variable lying within brackets the output in the normal. Implementing separate compilations in Pascal ACM Digital. The same thing will be identified in java code in function that? Procedure-and-function-declaration-part to-declaration-part label bottom label constant-definition-part const constant. Real variable names are declared in the VAR statement the. Returning a doughnut in Pascal NET XsPDF SDK. The guard value provide a Pascal function is specified by assigning the value equity the function's name. 0 Bug somehow in van you tick the Min function from the Open Array example as too. Where do I feel a function inline By dummzeuch January 1 in RTL and Delphi Object Pascal Ignore this topic. Unlike Pascal functions cannot be nested This simplifies the visibility of variables considerably the only variables visible to those declared within the function. Keyword arguments must apprentice with declared parameters in disorder but.
    [Show full text]
  • Using GNU Autotools May 16, 2010 1 / 162 Tool Versions Foreword (2/2)
    Foreword Foreword (1/2) This presentation targets developers familiar with Unix development tools (shell, make, compiler) that want to learn Autotools. The latest version of this document can be retrieved from http://www.lrde.epita.fr/~adl/autotools.html Please mail me corrections and suggestions about this document at [email protected]. Do not send me any general question about the Autotools. Use the appropriate mailing list instead ([email protected], or [email protected]). A. Duret-Lutz Using GNU Autotools May 16, 2010 1 / 162 Tool Versions Foreword (2/2) This document was updated for the following releases of the Autotools: GNU Autoconf 2.65 (November 2009) GNU Automake 1.11.1 (December 2009) GNU Libtool 2.2.6b (November 2009) GNU Gettext 0.17 (November 2007) These were the last releases at the time of writing. The usage of these tools has improved a lot over the last years. Some syntaxes used here will not work with older tools. This a deliberate choice: New users should learn today's recommended usages. Make sure you have up-to-date tools and do not bother with old releases. A. Duret-Lutz Using GNU Autotools May 16, 2010 2 / 162 Title Page Using GNU Autotools Alexandre Duret-Lutz [email protected] May 16, 2010 Copyright c 2010 Alexandre Duret-Lutz http://creativecommons.org/licenses/by-sa/2.0/ Trivial source code examples displayed in this tutorial (such as the C files, Makefile.ams, and configure.acs of all the `amhello' projects) can be reused as if they were in the public domain.
    [Show full text]
  • Introducción a Linux Equivalencias Windows En Linux Ivalencias
    No has iniciado sesión Discusión Contribuciones Crear una cuenta Acceder Página discusión Leer Editar Ver historial Buscar Introducción a Linux Equivalencias Windows en Linux Portada < Introducción a Linux Categorías de libros Equivalencias Windows en GNU/Linux es una lista de equivalencias, reemplazos y software Cam bios recientes Libro aleatorio análogo a Windows en GNU/Linux y viceversa. Ayuda Contenido [ocultar] Donaciones 1 Algunas diferencias entre los programas para Windows y GNU/Linux Comunidad 2 Redes y Conectividad Café 3 Trabajando con archivos Portal de la comunidad 4 Software de escritorio Subproyectos 5 Multimedia Recetario 5.1 Audio y reproductores de CD Wikichicos 5.2 Gráficos 5.3 Video y otros Imprimir/exportar 6 Ofimática/negocios Crear un libro 7 Juegos Descargar como PDF Versión para im primir 8 Programación y Desarrollo 9 Software para Servidores Herramientas 10 Científicos y Prog s Especiales 11 Otros Cambios relacionados 12 Enlaces externos Subir archivo 12.1 Notas Páginas especiales Enlace permanente Información de la Algunas diferencias entre los programas para Windows y y página Enlace corto GNU/Linux [ editar ] Citar esta página La mayoría de los programas de Windows son hechos con el principio de "Todo en uno" (cada Idiomas desarrollador agrega todo a su producto). De la misma forma, a este principio le llaman el Añadir enlaces "Estilo-Windows". Redes y Conectividad [ editar ] Descripción del programa, Windows GNU/Linux tareas ejecutadas Firefox (Iceweasel) Opera [NL] Internet Explorer Konqueror Netscape /
    [Show full text]
  • Gnu-C-Compiler
    25. April 2018 C:\Users\brf09510\svn\doku\trunk\compman\SC-COMP.TEX Bedienung der C-Compiler 1. GNU-C Gnu-C/C++ ist ein Open-Source- und Freeware-Compiler, der bei Beachtung der Benut- zungsbedingungen (siehe Datei COPYING) legal und frei verwendet werden darf. Er wurde als portabler Compiler f¨urUnix-Umgebungen konzipiert. F¨urPCs unter Windows steht er in den zwei Versionen MinGW und Cygwin zur Verf¨ugung. Die DJGPP-Version von DJ Delorie und die emx-Installation von Eberhard Matthes sind veraltet. Unter Linux ist der Compiler meistens bereits installiert; falls er fehlt, helfen die Distribution-packages weiter. Auf einem Mac steht der llvm-Compiler (auch unter dem irref¨uhrendenNamen gcc) bereit. Die Bedienungshandb¨ucher finden sich im Internet unter http://gcc.gnu.org/onlinedocs/ Eine Ubersicht¨ ¨uber alle Optionen finden Sie unter http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/Option-Summary.html#Option-Summary Eine (umfangreiche) hervorragende Beschreibung auf englisch bietet das Buch The Definitive Guide to GCC William von Hagen 2006, 978-1-59059-585-5, 1-59059-585-8 http://sensperiodit.files.wordpress.com/2011/04/hagen-the-definitive-guide-to- gcc-2e-apress-2006.pdf 1.1. Aktivieren und Starten von Cygwin im CIP-Pool Vor dem Start der GNU-Compiler-Collection in den CIP-Pools muß ein Cygwinfenster mit einer Linux-bash-shell gestartet werden. Das geschieht in einem Windows-Kommandofenster (cmd.exe). cygwin Aktivieren des Compilers F:\BAT\cygwin.cmd wenn es mal nicht geht cd /cygdrive/c Wechseln auf (z.B.) Laufwerk C: gcc -std=c99 -pedantic -Wall -o bsp bsp.c Standard-C-Ubersetzung¨ Damit stehen zwei C-Compiler (gcc, clang), zwei C++-Compiler (g++, clang++) und ein Fortran-Compiler (gfortran) zur Verf¨ugung.
    [Show full text]
  • A Symbolic Portable Debugger for Compilers That Generate C Code
    ASymbolicPortableDebuggerforCompilers thatGenerateCCode JOSE´ M.PRIETO,JOSE´ L.ARJONA,RAFAELCORCHUELO,MIGUELTORO,ANDDAVIDRUIZ DepartamentodeLenguajesySistemasInformaticos´ FacultaddeInformatic´ ayEstad´ıstica,UniversidaddeSevilla AvenidadelaReinaMercedess/n,41.012,Sevilla ESPAN˜ A—SPAIN Abstract:Mostcompilerstranslatehigh-levelprogramminglanguagesintomachinecode,but,ifwearein- terestedinportability,thismightnotbeagoodideabecausemachinecodeisnotportableamongdifferent platforms.Thisisthereasonwhymanycompilersdonotproducemachinecodeasoutput,butANSICcode. Theproblemisthatthecodethesecompilersproduceisnotdebugablebecauseitdoesnotincludeanyrefer- encestothesymbolsappearingintheoriginalprogram. Wehaveinvestigatedsometechniquesthatallowustobridgethisgap.Asaresult,wehaveproduced alibrarycompilersthatgenerateCcodecaneasilyincorporateinordertogenerateself–debuggingprograms. Thispaperaimstoexplainitsmainfeaturesandalsoreportssomeexperimentalresultsthatshowthatitperforms quitewell. IMACS/IEEE CSCC'99 Proceedings, Pages:3501-3506 Keywords:symbolicdebuggers,compilersthatgenerateCcodeasoutput,portability,GDB. 1 Introduction programs,andtheyusuallyneedtousedebuggersto findoutthereasonwhytheirprogramsdonotwork Compilersusuallygeneratemachinecodeasoutput, properlyundercertaincircumstances.Atpresent, but,ingeneral,thisisnotagoodideaifwearein- therearesomeverygoodcommercialdebuggers,as terestedinportabilitybecauseifwewanttoportour wellaswonderfulfreedebuggers.GDB[2],thede- compilertootherplatforms,weneedtospendalot buggerbyGNU,standsoutbecauseitisavailablein
    [Show full text]