• Gem #110: Ada Plug-ins and Shared Libraries—Part 2

    In this Gem, we continue the discussion of GNAT's support for shared libraries and explain how to build Ada plug-ins. Continue Reading »

    Pascal Obry
    EDF R&D
  • Gem #109: Ada Plug-ins and Shared Libraries—Part 1

    In this Gem, we discuss GNAT's support for shared libraries as a prelude to understanding how to build Ada plug-ins. Continue Reading »

    Pascal Obry
    EDF R&D
  • Gem #102: SOAP/WSDL client part

    In this Gem we will use web services as described in a WSDL document.

    Continue Reading »

    Pascal Obry
    EDF R&D
  • Gem #101: SOAP/WSDL server part

    In this Gem we build a server providing Web services on the network.

    Continue Reading »

    Pascal Obry
    EDF R&D
  • Gem #79: Where did my memory go? (Part 3)

    Ada Gem #79 — A number of tools and libraries exist to monitor memory usage, detect memory leaks and more generally solve issues with memory management. The Gems in this three-part series offer an overview of these issues and explain how you can benefit from these tools in your own development. Continue Reading »

    Emmanuel Briot
    AdaCore
  • Gem #78: Where did my memory go? (Part 2)

    Ada Gem #78 — A number of tools and libraries exist to monitor memory usage, detect memory leaks and more generally solve issues with memory management. The Gems in this three-part series offer an overview of these issues and explain how you can benefit from these tools in your own development. Continue Reading »

    Emmanuel Briot
    AdaCore
  • Gem #77: Where did my memory go? (Part 1)

    Ada Gem #77 — A number of tools and libraries exist to monitor memory usage, detect memory leaks, and more generally solve issues with memory management. This Gem, and others to follow, offer an overview of these issues and explain how you can benefit from these tools in your own development. Continue Reading »

    Emmanuel Briot
    AdaCore
  • Gem #64: Handling Multiple-Unit Source Files

    Ada Gem #64 — This Gem describes how to compile applications in GNAT when source files contain multiple units. The preferred approach is to split source files, and here we describes how this can be done, although GNAT also provides a workaround that allows you to keep your existing files. Continue Reading »

    Emmanuel Briot
    AdaCore
  • Gem #60: Generating Ada bindings for C++ headers

    Ada Gem #60 — In Gem #59 we saw how simple it is to automatically generate Ada bindings for C header files. In this Gem, we will see that, similarly, it's now also possible to generate Ada bindings for C++ header files. Continue Reading »

    Arnaud Charlet
    AdaCore
  • Gem #59: Generating Ada bindings for C headers

    Ada Gem #59 — One of the delicate areas of Ada that is often unfamiliar to developers is how to intermix Ada code with other programming languages. While Ada provides very powerful and complete capabilities to interface with other compiled languages such as C, C++, and Fortran, writing the Ada glue code that enables a programmer to use complex and large APIs can be tedious and error-prone.
    In this Gem, we will explore a new tool provided by AdaCore to automate the interface generation of C header files through the compiler. Continue Reading »

    Arnaud Charlet
    AdaCore
  • Gem #54: Scripting Capabilities in GNAT (Part 2)

    Ada Gem #54 — In Gem #52, we saw various facilities that GNAT provides to make Ada a scripting language (sort of). We discussed GNAT.Command_Line, GNATCOLL.Mmap, GNAT.Regpat and GNAT.AWK. This Gem continues the discussion of scripting capabilities, and focuses on interaction with external processes. Continue Reading »

    Emmanuel Briot
    AdaCore