原创 2、Linux多線程,線程的分離與結合

(2)線程的分離與結合     在任何一個時間點上,線程是可結合的(joinable),或者是分離的(detached)。一個可結合的線程能夠被其他線程收回其資源和殺死;在被其他線程回收之前,它的存儲器資源(如棧)是不釋放的。相反,一

原创 使用GetText本地化編程

參考 http://heavenporter.livejournal.com/5939.html介紹 GetText是GNU的一個項目,GetText主頁 有最豐富的信息。下面大致翻 譯一下GetText主頁的介紹 : “通常,程序及

原创 在gtk+程序中顯示中文說明

 在gtk+程序中顯示中文說明簡單地說,gtk只認utf8編碼,由glibc負責轉換編碼到utf8編碼或直接用utf8編碼。(一)應用程序中該做的事情(確定所用mo文件的位置)首先用函數textdomain設置應用程序的中文信息(mo文件

原创 GTK+ 程序使用gettext國際化小結

gettext軟件包是GNU工程中解決國際化問題的重要工具,支持C/C++和JAVA語言,它在開源 界應用相當廣泛,GNOME/GTK+的國際化問題都是用它來解決的,正常的情況下GNU/LINUX系統是默認安裝這一軟件包的。     首先

原创 1、Linux多線程,基本概念

說明:以下內容,根據參考中【1~6】內容整理而得。 一、基本概念 1、線程是計算機中獨立運行的最小單位。進程是分配資源的單位。 2、爲什麼使用多線程? (1)啓動一個新的進程必須分配給它獨立的地址空間,建立衆多的數據表來維護它的

原创 Linux 下的 hid dev 設備編程處理

 Linux下HID 設備,如果非標準的輸入設備(Keypad/MOUSE/JoyStick/input event device). 將會把信息轉入hid device的設備結點。 這一點可以參見內核的關於hiddev的文檔

原创 gdb多線程/多進程(守護進程)調試

  一 調試多進程 1) follow-fork-mode :   set follow-fork-mode [parent|child] parent: fork之後繼續調試父進程,子進程不受影響。child: fork之後調

原创 GDB調試命令(轉)

1       基本命令1.1    啓動和退出GDB [root@localhost ~]#gdb test 啓動GDB調試test程序   [root@localhost ~]#gdb programe 2146

原创 用GDB調試程序---轉貼,非常全面的調試技巧

用GDB調試程序 GDB是一個強大的命令行調試工具。大家知道命令行的強大就是在於,其可以形成執行序列,形成腳本。UNIX下的軟件全是命令行的,這給程序開發提代供了極大的便利,命令行軟件的優勢在於,它們可以非常容易的集成在一起,使用幾個簡單

原创 gdb中的信號(signal)相關調試技巧

轉自Magic C++論壇 http://www.magicunix.com/index_ch.html http://www.magicunix.com/cgi-bin1/forum_cn/ultimatebb.cgi?ubb=get_

原创 如何查看靜態庫內容 Unix/Linux

 如何查看靜態庫內容 Unix/Linux 以下從最好情況->最壞情況: 1. 最好知道靜態庫的原文件(.c),要是知道聲明文件(.h)也比較好。 2. ar -t YourFile 看其結構,找其中的原文件。 3. 可以將庫

原创 Linux 動態庫與靜態庫製作及使用詳解

簡介: Linux 應用開發通常要考慮三個問題,即:1)在 Linux 應用程序開發過程中遇到過標準庫鏈接在不同 Linux 版本下不兼容的問題; 2)在 Linux 靜態庫的製作過程中發現有別於 Windows 下靜態庫的製作方法;3)

原创 nm命令查看對象,可執行及庫文件

顯示關於對象文件、可執行文件以及對象文件庫裏的符號信息。 語法 nm [ -A ] [ -C ] [ -X {32|64|32_64}] [ -f ] [ -h ] [ -l ] [ -p ] [ -r ] [ -T ] [

原创 linux setlocale用法

linux setlocale用法 頭文件與聲明如下: 1 #include <locale.h>  2 char* setlocale(int category, const char* locale); 說明: cat

原创 一個方便打印C程序調試信息的宏

爲了方便調試C程序,寫了個打印信息的宏,能夠打印錯誤信息,以及錯誤發生的文件名、行號。 #ifndef _DEBUG_H_ #define _DEBUG_H_ #include <stdio.h> #include <string.h