原创 C語言高效實現向量循環移位

這篇文章主要爲大家詳細介紹了C語言高效實現向量循環移位,具有一定的參考價值,感興趣的小夥伴們可以參考一下 問題:n個元素的向量V循環移位(以左移爲例)i個位置,例如12345循環移動2個位置得到34512. 問

原创 長度是怎樣煉成的

全文共分如下四個部分: 一、關於無窮(▼)二、測度的建立(▼)三、長度的意義(▼)四、若干註記(▼)應小樂之請寫的一個東西,其目的是爲了回答以下問題: 點沒有長度和麪積,爲什麼由點組成的線和麪會具有長度和麪積?“長度”“面積”這些詞彙究竟

原创 探本溯源——深入領略Linux內核絕美風光之系統啓動篇(二)

在前文結尾處我們提到內核映像的加載是由專用的bootloader比如LILO或是GRUB來實現的,而在x86架構下Linux內核通常使用其中之一的GRUB,它通過執行initrd文件來識別內核映像所在的文件系統進而執行加載,然而有一個需要

原创 總有一種力量,能夠讓你思緒萬千

《從哥德巴赫到陳景潤》—— 序  [轉載]文/田廷彥 “上帝創造了自然數,其餘一切都是人爲。”   ——德國數學家克羅內克(L.Kronecker)如果說整數是如此的基本,那麼素數則充滿了神祕。素數在數論乃至全部數學中扮演了至關重要的角色

原创 探本溯源——深入領略Linux內核絕美風光之系統啓動篇(四)

在完成控制檯初始化之後,可以看到在arch\x86\boot\Main.c文件的main主函數中接着執行if (cmdline_find_option_bool("debug")),這條if判斷語句首先調用cmdline_find_opt

原创 Linux內核中C和彙編使用技巧集錦 —— 持續更新

本文主要是用來存放Linux-3.1.1內核中有關C語言和彙編的使用技巧。在此所記錄的一些技巧將會幫助有語言基礎的童鞋寫出更富藝術性和創造力的代碼:-) 。需要注意的是,Linux內核採用GCC編譯器進行編譯並使用了GCC中的很多擴展特性

原创 排序大集錦(三):基於隨機訪問下標的排序

基於數組中元素之間的比較的排序算法被稱爲比較排序。其基本思想非常簡單,假定在待排序數組a[0..n-1]中存在任意兩個元素a[i]及a[j],若a[i]≥a[j],那麼在最終的序列中a[i]必定在a[j]之後。對於這類算法,實際可以通過決

原创 解構公共子串及K階馬爾可夫隨機文本

搜索是一個常談常新的話題,不僅有對數值型數據的搜索,更多的時候還有對字符類型的數據進行搜索的要求。比如常用的各大搜索引擎都是通過獲取用戶所輸入的字符型數據,之後根據引擎自身所採用的算法將輸入與網頁數據庫中存儲的信息匹配,最後將這些信息對應

原创 淺談散列

通俗的說,程序是能夠完成既定目標的具有特定邏輯組織形式的指令集序列。既然有現實的需求,那麼我們知道外界環境必然會給予程序某些特定形式的“輸入”,然而在機器的內部,這種“輸入”將轉換爲數據的形式,繼而這就要求我們爲用以描述現實世界需求的數據

原创 深入詳解保護模式下的內存分頁機制

386及更高型號處理器使用內存分頁機制,這使得同一個線性地址可以被映射爲多個物理地址,這種映射是通過分頁單元這一特殊的硬件電路實現的。通常程序中所使用的線性地址是由鏈接器幫我們產生的,而操作系統通過維護每個進程私有的頁目錄和頁表實現線性地

原创 初探處理器體系結構及尋址模式

由8086/8088、x86、Pentium發展到core系列短短40年間,處理器的時鐘頻率幾乎已接近極限,儘管如此,自從86年Intel推出386至今除了增加一些有關流媒體的指令如mmx/sse之外,其他新增的大多數指令都可以從最初的指

原创 探本溯源——深入領略Linux內核絕美風光之系統啓動篇(一)

從拿到Linux3.1.1版內核源碼並搭建好閱讀環境開始,到現在大約已經徘徊了兩個多月的時間,期間google了大大小小的文章,纔剛剛理清了些許思路並找到了閱讀的切入口。對於內核初學者來說一個好的指導比什麼都重要,有關Linux內核學習的

原创 排序大集錦(一):構建健壯的快速排序

文章標題雖然冠名爲“構建健壯的快速排序”,但本文將由淺入深逐步介紹三種排序方法,分別爲:插入排序、歸併排序以及快速排序,最後我們將仔細分析各個排序的優缺點,汲取各種排序之精華,去其中之糟粕,構建出一個基於比較的健壯的快速排序,所構建出的算

原创 【連載】系統啓動篇(三)[下]——控制檯初始化續

接上文:系統啓動篇(三)[上] 在計算機中,用於數據傳輸的方式總共分爲兩種:①串行通信(Serial Communication),傳輸數據時只用一根線——按位發送和接受字節,速度慢但能夠實現遠距離通信,使用串行端口的設備有鼠標和USB等

原创 x86—EFLAGS寄存器詳解

鑑於EFLAGS寄存器的重要性,所以將這一部分內容從處理器體系結構及尋址模式一文中單獨抽出另成一文,這部分內容主要來自Intel Developer Mannual,在後續的內核系列中遇到的許多和EFLAGS寄存器有關的內容將直接從本文引