編譯GLib C程序


編譯GLib C程序

GLib是GTK +所需的實用程序庫,但也可以在非GUI應用程序中獨立使用。本文介紹如何在Linux中編譯使用GLib的C程序。它還顯示了如何為系統上安裝的GLib版本安裝正確的文檔,以及如何查找當前安裝的GLib庫的版本號。

本文使用的命令和庫已在Linux Mint 18上進行了測試,但應在所有基於Debian的Linux發行版(包括Ubuntu)上運行。在編譯程序之前,請確保已在系統上安裝了GLib開發庫:

sudo apt-get install libglib2.0-dev

 

編譯一個簡單的GLib C程序

下面的示例程序是一個使用GLib函數編寫的簡單的“ Hello World” C程序。代碼清單下方顯示了有關在Linux中編譯程序的說明。

 

#include <glib.h>

int main(void)
{
    g_print("Hello, world!\n");
    return 0;
}

 在命令行中使用以下命令來編譯上述程序:

gcc main.c `pkg-config --cflags --libs glib-2.0` -o hello

在上面的行中,使用反引號(`)而不是單引號(')將pkg-config及其選項括起來。或使用:

gcc main.c $(pkg-config --cflags --libs glib-2.0) -o hello

可以從命令行如下運行名為hello的已編譯程序

./hello

安裝GLib幫助

安裝系統上安裝的GLib版本的GLib幫助文檔。

sudo apt-get install libglib2.0-doc

可以在Devhelp中查看幫助文件。使用以下命令安裝Devhelp:

 

sudo apt-get install devhelp

可以在Linux Mint 18 Mate菜單下的菜單→編程→Devhelp下找到Devhelp下圖顯示了在Devhelp中打開的GLib參考手冊。

 

 

 

查找GLib的版本號

單擊Devhelp左窗格中的GLib參考手冊,應顯示文檔的版本號,該版本號應與已安裝的庫的版本號相對應。還有兩種其他方法可以確定庫的已安裝版本-使用pkg-config和按如下所述以編程方式進行確定。

使用pkg-config

在終端窗口中輸入以下命令將顯示當前安裝的GLib版本。

 

pkg-config --modversion glib-2.0

以編程方式

編譯並運行以下程序時,它將顯示GLib的當前版本。

#include <glib.h>

int main(void)
{
    g_print("glib version number is %d.%d.%d\n", GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
    g_print("GLIB_MAJOR_VERSION = %d\n", GLIB_MAJOR_VERSION);
    g_print("GLIB_MINOR_VERSION = %d\n", GLIB_MINOR_VERSION);
    g_print("GLIB_MICRO_VERSION = %d\n", GLIB_MICRO_VERSION);
    return 0;
}

編譯使用:

gcc main.c`pkg-config --cflags --libs glib-2.0` -o版本

要么:

gcc main.c $(pkg-config --cflags --libs glib-2.0)-o版本

跑:

 

GLib C投幣示例程序

另一個GLib C程序,用於模擬拋硬幣。運行該程序時,它將“ Heads”或“ Tails”打印到終端窗口。拋硬幣的正面或反面由g_random_boolean()函數確定

 

#include <glib.h>

int main(void)
{
    gboolean result;
    
    result = g_random_boolean();
    if (result == TRUE) {
        g_print("Heads\n");
    }
    else {
        g_print("Tails\n");
    }
    return 0;
}

Compile using:

gcc main.c `pkg-config --cflags --libs glib-2.0` -o coin_toss

Or:

gcc main.c $(pkg-config --cflags --libs glib-2.0) -o coin_toss

Run:

./coin_toss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM