原创 從 Solaris 向 Linux 移植應用程序的技術指導

移植概述 移植過程本身非常簡單: 清理代碼和頭文件,並刪除與體系結構相關的部分和非標準做法。 編譯代碼,並修正在編譯過程中發現的問題。 如果需要,則修正段故障及未對齊的訪問。 重新編譯代碼,如果需要,則重複上面的過程。

原创 讀《程序員的自我修養》的自我梳理和解惑

  基本術語: VMS——進程虛擬地址空間,PMS——物理內存空間,DSO——動態共享對象 程序與文件的關係 平時我們所說的“一個程序由多個文

原创 Clearmake

Clearmake主要適用於使用UNIX型的makefile的用戶,它本身兼容GNU make。 在執行建立腳本期間,clearmake在ClearCase的多版本文件系統下執行一個建立追蹤,它會記錄每個派生對象被構建時的信息。 使用Cl

原创 clearcasse 命令

clearcase常用命令集錦 1.將整個目錄導入clearcase  clearfsimport -r‘源路徑’ ‘目標路徑’ 將整個目錄導入clearcase clearfsimport -recurse /xxx/xxx/x

原创 objcopy

  objcopy把一種目標文件中的內容複製到另一種類型的目標文件中. (1)將圖像編譯到可執行文件內 Q: 如何將一個二進制文件,比如圖片,詞典

原创 構建ARM Linux交叉編譯工具鏈

讀者可能會有疑問,爲什麼要用交叉編譯器?交叉編譯通俗地講就是在一種平臺上編譯出能運行在體系結構不同的另一種平臺上的程序,比如在PC平臺(X86 CPU)上編譯出能運行在以ARM爲內核的CPU平臺上的程序,編譯得到的程序在X86 CPU

原创 庫函數調用和系統調用的區別

庫函數是語言本身的一部分,而系統函數是內核提供給應用程序的接口,屬於系統的一部分。函數庫調用是語言或應用程序的一部分,而系統調用是操作系統的一部分。你要確保弄懂“trap(自陷)”這個關鍵字的含義。系統調用是在操作系統內核發現一個“tr

原创 內存一致性

示例代碼:  1internal sealed class CacheCoherencyProblem 2{ 3    private Byte m_initialized = 0; 4    private Int32 m_val

原创 gcc命令之 objdump

  gcc命令之 objdump ---------------objdump是用查看目標文件或者可執行的目標文件的構成的GCC工具-------

原创 野指針

野指針,也就是指向不可用內存區域的指針。通常對這種指針進行操作的話,將會使程序發生不可預知的錯誤。 “野指針”不是NULL指針,是指向“垃圾”內存的指針。人們一般不會錯用NULL指針,因爲用if語句很容易判斷。但是“野指針”是很危險的,

原创 初始化和賦值的區別

區別說明:賦值操作是在兩個已經存在的對象間進行的,而初始化是要創建一個新的對象,並且其初值來源於另一個已存在的對象。 int a=12 ; //初始

原创 clearcase1的內容

ClearCase在真實項目開發中如何使用啦?下面給大家一個大概的流程圖: 概念: 公司採用的代碼管理工具是ClearCase,在使用過程中,經歷了從最初的比較迷惑到基本熟悉的過程。說實話並不是怎麼易用。裏面的概念也比較難於理解。

原创 expr命令

 expr 命令  用途   求表達式變量的值。   語法 expr Expression   描述   expr 命令讀入 Expression 參數,計算它的值,然後將結果寫入到標準輸出。   您必須對 Express

原创 內存的靜態分配和動態分配的區別

 內存的靜態分配和動態分配的區別主要是兩個:       一是時間不同。靜態分配發生在程序編譯和連接的時候。動態分配則發生在程序調入和執行的時候。

原创 clearcase的相關命令

創建view:ct mkview -stream PM117816_feature_development@/rnccn_pvob  -tag vw_PM117816_yufang    -host  $HOST –gpath  /loc