原创 Linux Signal (3): kill和raise

1. 函數說明: kill和raise是用來發送信號的: kill把信號發送給進程或進程組; raise把信號發送給(進程)自身. 他們的原型如下: #include <signal.h>int kill(pid_t pid, int 

原创 AT&T asm

一、AT&T 格式Linux 彙編語法格式 在 AT&T 彙編格式中,寄存器名要加上 '%' 作爲前綴;而在 Intel 彙編格式中,寄存器名不需要加前綴。 在 AT&T 彙編格式中,用 '$' 前綴表示一個立即操作數;而在 Intel

原创 GTK編程初談

    GTK是一個跨平臺的GUI開發庫, 它是用C語言以OO的方式(俗稱面向對象C, 又稱OO-C)開發的. 只要是有一定C語言和GUI開發基礎,

原创 中斷和異常

    處理器的速度和外圍硬件設備的速度往往不在一個數量級上, 因此, 如果Linux內核採取讓處理器向硬件發出一個請求, 然後專門等待迴應, 這種辦法顯然不好.     硬件響應慢, 因此內核需要在這段時間內處理其他事務, 等到硬件真正

原创 Linux的主要發行版

Linux 發行版衆多,可以用多如牛毛來形容。曾經見到有人收集到了 300 多個 Linux 發行版。實際上,流傳於世的 Linux發行版數目可能還遠

原创 makefile的寫法

makefile是一種描述依賴關係的文件, 它主要描述的是整個工程編譯規則, 同時也給工程的維護提供很大的方便. 這在大型工程中非常實用. 在寫好makefile之後, 只需要在命令行輸入make命令, 工程就按照既定的makefile規

原创 Linux Signal (5): 信號集

信號集給我們提供了一個能表示多個信號的是數據類型(sigset_t), 它將在sigprocmask, sigpending, sigsuspend之類的函數中用到, 這些函數我會在以後的文章中介紹. 1. 信號集相關函數: #incl

原创 Linux線程同步(4): 條件變量

    條件變量分爲兩部分: 條件和變量. 條件本身是由互斥量保護的. 線程在改變條件狀態前先要鎖住互斥量.  1. 初始化:     條件變量採用的數據類型是pthread_cond_t, 在使用之前必須要進行初始化, 這包括兩種方式:

原创 AT&T彙編語言與GCC內嵌彙編簡介

AT&T彙編語言與GCC內嵌彙編簡介1 AT&T 與INTEL的彙編語言語法的區別1.1大小寫1.2操作數賦值方向1.3前綴1.4間接尋址語法1.5後綴1.6指令2 GCC內嵌彙編2.1簡介2.2內嵌彙編舉例2.3語法2.3.1彙編語句模

原创 一個無知人對Linux的挑釁

就在剛纔, 準備下班的時候, 在CSDN看到一個帖子: ============================================================== Linus Torvalds的成功是政治因素而不是技術因

原创 GNU gcc 使用手冊

<序 >   偉大的GNU認爲man手冊是Open Source發展的過時產物, 於是他們針對各種當家軟件出了各自的手冊, 如GNU Emacs, GNU Vim, 當然gcc是不可缺少的, 這是Stallman一生最偉大的產物之一.

原创 Linux Signal (1): 基本概念

1. 信號是軟件中斷: 信號提供了一種處理異步事件的方法. 每個信號都有一個名字, 他們以SIG開頭, 如SIGALRM是鬧鐘信號, 當由alarm函數設置的計時器超時後產生此信號, 然後由SIGALRM的信號處理函數接管處理, 處理之後

原创 I/O的多路轉接: select

1. 概念:      I/O多路轉接技術, 是先構造一張有關描述符的列表, 然後調用一個函數, 直到這些描述符中的一個已準備好進行I/O時, 該函數才返回. 在返回時, 它告訴進程哪些描述符已經準備好可以進行I/O.     在Linu

原创 Linux Signal (2): signal函數

1. 原型: #include <signal.h>void (*signal(int signo, void (*func)(int))(int);成功則返回該信號以前的處理配置, 出錯則返回SIG_ERR. 參數說明: signo

原创 Python hello world

最近開始學習python, 由於是windows端, 只能下個python for windows. 按照慣例,先來個hello world   #!/usr/bin/python 'My first python script' mys