原创 信號量中的PV操作

一、信號量的概念     1、信號量的類型定義     信號量(semaphore)的數據結構爲一個值和一個指針,指針指向等待該信號量的下一個進程。信號量的值與相應資源的使用情況有關。當它的值大於0時,表示當前可用資源的數量;當它的值小於

原创 各種Linux錯誤碼

    查了下網上的資料,搜尋了下Linux下的各種錯誤碼。摘自/usr/include/asm/errno.h。。如下所示: #ifndef _I386_ERRNO_H #define _I386_ERRNO_H #define EPE

原创 C語言中可變參數的處理va_list

    今天在看UNPv2的時候看到C語言中可變參數的操作,有必要深究一下,恩。整理下。。。     va_list是在C語言中解決可變參數問題的一組宏,他有這麼幾個成員:     1) va_list型變量:#ifdef _M_ALP

原创 (12)取樣問題

一、簡介     問題描述:程序的輸入包含兩個整數m和n,其中m<n。輸出是0~n-1範圍內m個隨機整數的有序列表,不允許重複。從概率的角度說,我們希望得到沒有重複的有序選擇,其中每個選擇出現的概率相等。     (1)一般情況下,如果要

原创 (5~7)編程小事、程序性能分析及粗略估算

    這幾章是在沒啥總結的,就碼點有意思的話吧。     1、assert表示我們相信某個邏輯表達式爲真,若表達式爲假則會報告某種錯誤;     2、得到正確程序需要做的主要有:腳手架、編碼、測試、調試及計時;     3、想提高程序的

原创 (11)排序

一、排序     本章以介紹插入排序爲伊始,進而介紹了快速排序,以及隨機選取劃分元素的改進的快速排序,且可根據所要排序元素的多少動態的選擇是進行插入排序還是快速排序的算法(在元素較少的排序中,插入排序的運行效果可能更好)。插入排序與快速排

原创 inline函數和虛函數的區別

    inline函數和virtual函數有着本質的區別,inline函數是在程序被編譯時就展開,在函數調用處用整個函數體去替換,而virtual函數是在運行期才能夠確定如何去調用的,因而inline函數體現的是一種編譯期機制,virt

原创 我的GitHub

    做個宣傳吧,GitHub大家都知道,很好用,而且真的對於開源項目來說太牛了。先給大家介紹幾個當時玩Github的時候收藏的有意思的網頁吧:     1、GitHub上的一些熱門開源項目:http://www.csdn.net/ar

原创 (4)編寫正確的程序

一、簡介     編程技巧斤斤是編寫正確程序的很小一部分,大部分內容還是前三節的主題:問題定義、算法設計及數據結構的選擇。     一個正確運行的程序,其需要斷言、順序控制結構、選擇控制結構及迭代控制結構。並且需要使用測試用例來保證程序的

原创 有意思的C語言優先級口訣

今天看到這個,有點意思,轉一轉。嘿嘿~ 一共有十五個優先級:  1   ()  []  .  -> 2   !  ~   -(負號) ++  --   &(取變量地址)*   (type)(強制類型)    sizeof  3   *