原创 大端模式與小端模式

概念: 大小端模式是指各種體系的計算機系統(CPU的體系架構:PPC、ARM、MIPS等)中採用的字節存儲機制(多字節數據類型),分爲:大端模式和小端模式兩種。 大端模式:是指數據的高字節保存在內存的低地址中,數據的低字節保存在內存的

原创 malloc、calloc、realloc的區別

原文鏈接:https://www.cnblogs.com/lidabo/p/4611411.html C語言內存分配方式 <1>從靜態存儲區域分配        內存在程序編譯的時候就已經分配好

原创 運行時(動態)加載

    動態庫的加載涉及到4個API接口:打開動態庫(dlopen)、查找符號(dlsym)、錯誤處理(dlerror)以及關閉動態庫(dlclose),程序可以通過這幾個API對動態庫進行操作。 1.dlopen()     dlope

原创 弱符號與強符號(弱引用與強引用)

弱符號與強符號     我們經常在編程中碰到一種情況叫符號重複定義。多個目標文件中含有相同名字全局符號的定義,那麼這些目標文件鏈接的時候將會出現符號重複定義的錯誤。這種符號的定義可以被稱爲 強符號(Strong Symbol)。有些符號的

原创 選擇排序

選擇排序描述        選擇排序開始的時候,掃描整個列表,找到它的最小元素然後和第一個元素交換,將最小元素放到它在有序表中的最終位置上。然後我們從第二個元素開始掃描列表,找到最後n-1個元素中的最小元素,再和第二個元素交換位置,把第二

原创 Linux 信號應用之黑匣子程序設計

重要 本文轉載至:http://blog.jobbole.com/101619/ 1. 何爲黑匣子程序及其必要性 飛機上面的黑匣子用於飛機失事後對事故的時候調查,同理,程序的黑匣子用於程序崩潰後對崩潰原因進程定位。其實Li

原创 epoll 機制介紹

    epoll - I/O event notification facility    在linux的網絡編程中,很長的時間都在使用select來做事件觸發。在linux新的內核中,有了一種替換它的機制,就是epoll。    

原创 eventfd 函數使用介紹

從Linux 2.6.27版本開始,新增了不少系統調用,其中包括eventfd,它的主要是用於進程或者線程間的通信(如通知/等待機制的實現)。 函數原型:       #include <sys/eventfd.h> /*

原创 折半查找

折半查找的描述        折半查找是對一個有序數據集合所做的操作。查找開始時,首先找出有序集合中間的那個元素。如果此元素比要查找的元素大,就接着在較小的一個半區進行查找;反之,如果此元素比要查找的元素小,就在較大的一個半區進行查找。在

原创 雙向鏈表

雙向鏈表介紹        雙向鏈表,如同其名所暗示的那樣,鏈表元素之間由兩個指針鏈接。雙向鏈表中的每一個元素都由3部分組成:除了數據域成員和next指針外,每個元素還包含一個指向其前驅元素的指針,稱爲prev指針。雙向鏈表的組成是這樣的

原创 計數排序

計數排序的描述        計數排序是一種高效的線性排序,它通過計算一個集合中元素出現的次數來確定集合如何排列。不同於之前介紹的一些算法是基於比較的,計數排序不需要進行元素比較,而且它的運行效率要比效率我O(nlg n)比較排序高。  

原创 鏈式哈希表

鏈式哈希表介紹         待補充 鏈式哈希表實現 // Chtbl.cpp : Defines the entry point for the console application. // #include "stdafx.h

原创 進程間通信之Posix 信號量

概述     信號量(semaphore)是一種用於提供不同進程間或者一個給定進程的不同線程間同步手段的原語。     本文討論:     1.Posix 有名信號量:使用Posix IPC 名字標識,可用於進程或線程間的同步。    

原创 DNS 原理入門

重要  本文轉自: http://www.ruanyifeng.com/blog/2016/06/dns.html DNS 是互聯網核心協議之一。不管是上網瀏覽,還是編程開發,都需要了解一點它的知識。 本文詳細介紹DNS的原理,以

原创 位域與大小端

大小端字節序介紹見:點擊打開鏈接 大小端字節序指的是多字節類型的字節數據在內存中的存儲順序,字節內的各bit位置並不變化。 例如數據:0x12345678 在大端模式下的存儲情況爲: 地址 0 1 2 3 十六進制數據 0x12