1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Part I. GObject-Introspection Overview: GObject Introspection Reference Manual</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="index.html" title="GObject Introspection Reference Manual">
8 <link rel="up" href="index.html" title="GObject Introspection Reference Manual">
9 <link rel="prev" href="index.html" title="GObject Introspection Reference Manual">
10 <link rel="next" href="gi-building.html" title="Compiling the GObject Introspection package">
11 <meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts"></td>
17 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
18 <td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
19 <td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
20 <td><a accesskey="n" href="gi-building.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
23 <div class="titlepage"><div><div><h1 class="title">
24 <a name="overview"></a>Part I. GObject-Introspection Overview</h1></div></div></div>
26 <p><b>Table of Contents</b></p>
29 <span class="refentrytitle"><a href="gi-building.html">Compiling the GObject Introspection package</a></span><span class="refpurpose"> — How to compile GObject Introspection itself</span>
32 <span class="refentrytitle"><a href="gi-programming.html">Writing introspected libraries</a></span><span class="refpurpose"> — General considerations when writing introspected libraries</span>
37 GObject-Introspection is striving to provide a middleware layer between
38 (GObject based) C libraries and language bindings. The primary goal of
39 this project is to minimize duplicated effort in language binding
40 projects by providing shared metadata files on bound C libraries.
41 Language bindings can read these metadata files at runtime to learn
42 how to interface with a bound C library.
45 The GObject-Introspection package contains of a few different parts:
47 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
48 <li class="listitem"><p>The GIR XML format - an XML format describing the exported C API including documentation</p></li>
49 <li class="listitem"><p>The GTypelib format - a binary format optimized for fast disk access and low memory usage</p></li>
50 <li class="listitem"><p>g-ir-scanner - parses C source code and gtk-doc comments and generates GIR XML files</p></li>
51 <li class="listitem"><p>g-ir-compiler - compiles GIR XML files into typelibs</p></li>
52 <li class="listitem"><p>libgirepository - library to access typelib from C</p></li>
56 <p>The following illustration shows how the different components fit together:</p>
57 <img src="overview.png">
60 <hr>Generated by GTK-Doc V1.25.1</div>