原创 PC鏈接器提供的幾個基本的I/O服務——BIOS程序

BIOS: BIOS(Basic Input/Output System,基本輸入輸出系統)全稱是ROM-BIOS,是隻讀存儲器基本輸入/輸出系統的簡寫,它實際是一組被固化到電腦中,爲電腦提供最低級最直接的硬件控制的程序,它是連通軟件程序

原创 段錯誤(Segment Fault!)莫名的問題 by fish

  段錯誤或段違規(segmentation violation)應該已經很清楚,之前有過一篇文章介紹過“段模型”。 在一般硬件中,段錯誤是由於“內存管理單元”(負責支持虛擬內存的硬件)的異常所致,而該異常

原创 關於用指針作爲函數參數申請動態內存

其實一個很簡單的問題,卻現在纔想明白,真suck... 相信我們都知道傳值調用參數時,不改變實際參數的值。原理:形參是實參的一個copy(副本),而不是指向同一塊內存地址。於是用指針或引用就可以解決這個問題,大多數時候還會節省內存開銷,因

原创 C語言編譯中的“段”

對於目標文件而言,“段”是二進制文件中簡單的區域,裏面保存了和某種特定類型(如符號表條目)相關的所有信息。section 是 ELF 文件中的最小組織單位。一個段一般包含幾個section。 不要把UNIX中段的概念跟Intel X86架

原创 -內存泄露初探-

某次面試,被問及內存泄露相關事宜,當時瞠目結舌,故現對此話題比較敏感。 (1)WHAT 什麼是內存泄露?  部分內存不在程序的管理範圍內了,即脫離了管理。 (2)WHY 內存泄露是怎麼產生的? 調用malloc分配內存之後,忘記調用相應的

原创 [Paper Test 1]一些數學的小型算法題

  這些數學題正常情況下,難度係數基本爲0,但在加了一些限制條件後,往往帶來了一些困難,蒐集整理下。 1. 比較兩個數的大小,不能使用大於、小於、if語句、? : 以及switch語句或其他判斷語句。 方案

原创 用於檢查源代碼的工具(更新中!)

用於檢查源代碼的工具 工具 位於何處 所做工作 cb 隨編譯器附帶 C程序美化器,在源文件中運行這個過濾器,可以使源文件有標準的佈局和縮進格式。來自Berkeley indent   與cb作用相同,來自AT&T cdecl 本節 分

原创 [階段總結]一個多月的求職從心理準備、實際準備到網申、筆試、面試的整個前期階段的總結

  前言:《革命尚未結束,同志仍需努力! 》 找工作還未結束,雖然已戰罷一個階段,簡單的進行一下小結。 (1)準備工作開始的太晚,準備不夠充分,特別是心理未能提前重視起來,荒廢了暑期的黃金時間。IT業公司招

原创 some cases about "const" in C Program

關鍵字const並不能把變量變成常量!在一個符號前加上const限定符只是表示這個符號不能被賦值。也就是它的值對於這個符號來說是隻讀的,但它並不能防止通過程序的內部(甚至是外部)的方法來修改這個值。const最有用之處就是用它來限定函數的

原创 理解C語言聲明的優先級規則(一個複雜的例子)

A  聲明從它的名字開始讀取,然後按照優先級順序依次讀取; B  優先級從高到低依次是:         B.1  聲明中被括號括起來的那部分         B.2  後綴操作符;                         括號(