原创 linux文件編程(1)

linux中文件編程可以使用兩種方法:1.Linux系統調用     2.C語言庫函數。系統調用是基於linux系統的,它不能跨系統使用。c語言庫函數在各個系統都能使用。下面先介紹基於系統調用的文件編程。 1.文件的創建. int c

原创 gcc,gdb常用命令

gcc有許多命令選項,以下列出最爲常用的幾個選項 -o output_filename:確定可執行文件的名稱爲output_filename。如果不給出這個選項,gcc就給出預設的可執行文件a.out。 -c:只編譯,不連接成爲可執行文件

原创 深入淺出的分析windows進程中的內存結構

接觸過編程的人都知道,高級語言都能通過變量名來訪問內存中的數據。那麼這些變量在內存中是如何存放的呢?程序又是如何使用這些變量的呢?下面就會對此進行深入的討論。下文中的C語言代碼如沒有特別聲明,默認都使用VC編譯的release版。    

原创 Linux 內核配置與編譯

      嵌入式系統的一個很重要的特性就是可移植可裁剪配置。這篇博文主要簡單總結下在x86體系下配置編譯內核的過程。       首先需要得到linux內核的源碼,可以直接到linux官網下載。很多arm開發板的光盤都有linux源碼,

原创 arm存儲模塊

在arm系統中存儲模塊主要分爲flash和SDRAM。flash相當於計算機的硬盤,SDRAM相當於計算機的內存。但二者本質的區別是什麼呢?在一個系統裏我們執行程序需要存儲什麼內容呢?首先我們必須有源代碼告訴控制器應該幹什麼,其次代碼的執

原创 動態分配二維數組以及需要注意的問題

使用數組指針,分配一個指針數組,將其首地址保存在b中,然後再爲指針數組的每個元素分配一個數組           int **b=new int*[row];       //分配一個指針數組,將其首地址保存在b中            

原创 棧區,堆區,全局區,文字常量區,程序代碼區 詳解

一個由C/C++編譯的程序佔用的內存分爲以下幾個部分  1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似於數據結構中的棧。  2、堆區(heap) — 一般由程序員分配釋放, 若程序員不釋

原创 makefile的編寫

    makefile 描述了整個工程的編譯,鏈接過程。我們知道生成可執行文件的過程爲  源文件--->.o文件-->可執行文件。源文件可能有多個文件,對應生成多個對象文件(。o文件),要生成可執行文件需要將這些對象文件進行鏈接。以下爲

原创 MFC 自定義消息四步曲

1. 定義全局變量或宏 #define WM_MyMessage (WM_USER + n) n爲數字到少大於100 或者用 const UINT WM_MYMESSAGE = WM_USER + n 一般可以加在stdafx.h 或re

原创 tr寄存器

任務寄存器tr保存 16 位的段選擇子、32 位基地址、16 位段界限和當前任務的 TSS屬性。它引用 GDT 中的 TSS 描述符。基地址指明 TSS 的第一個字節(字節 0)的線性地址,段界限確定 TSS 的字節個數。TR寄存器包含了

原创 linux的內存尋址(段)

  前一段時間看linux的起始代碼時,對linux的內存尋址總是似懂非懂。最近認真看了下《深入理解linux內核》,覺得裏面對內存尋址講述的比較清晰,稍微總結一下。    在linux系統中,應用程序使用的是邏輯地址,邏輯地址到物

原创 linux信號

信號是unix和linux系統響應某些條件而產生的一個事件。如果進程接收到信號,但事先沒有安排捕獲它,進程將會立刻終止。按照通常情況配置,在鍵盤上敲入中斷字符就會向前臺進程(即當前運行的進程)發送SIGINT信號,這將引起該進程的終止,除

原创 ioctl與unlocked_ioctl區別

今天調一個程序調了半天,發現應用程序的ioctl的cmd參數傳送到驅動程序的ioctl發生改變。而根據《linux設備驅動》這個cmd應該是不變的。因爲在kernel 2.6.36 中已經完全刪除了struct file_operatio

原创 Unable to handle kernel paging request at virtual address錯誤的解決

今天寫了一個觸摸屏的驅動程序,在卸載模塊時出現oops,主要信息如下  Unable to handle kernel paging request at virtual address cc33cc33 …… pc is at kfre

原创 docker與虛擬機性能比較

本博客來源於我的個人博客: www.chenbiaolong.com 歡迎訪問。 概要 docker是近年來新興的虛擬化工具,它可以和虛擬機一樣實現資源和系統環境的隔離。本文將主要根據IBM發表的研究報告,論述docker與傳統虛擬化