Time of Update: 2018-12-04
系統調用是os作業系統提供的服務,使用者程式通過各種系統調用,來引用核心提供的各種服務,系統調用的執行讓使用者程式陷入核心,該陷入動作由swi非強制中斷完成.At91rm9200處理器對應的linux2.4.19核心系統調用對應的非強制中斷定義如下:#if defined(__thumb__) //thumb模式#define __syscall(name)/ "push {r7}/n/t" / "mov r7, #"
Time of Update: 2018-12-04
Linux環境處理序間通訊(四)號誌一、號誌概述號誌與其他處理序間通訊方式不大相同,它主要提供對進程間共用資源存取控制機制。相當於記憶體中的標誌,進程可以根據它判定是否能夠訪問某些共用資源,同時,進程也可以修改該標誌。除了用於存取控制外,還可用於進程同步。號誌有以下兩種類型:二值號誌:最簡單的號誌形式,號誌的值只能取0或1,類似於互斥鎖。
Time of Update: 2018-12-04
在Linux下有時候需要給一個網卡綁定多個IP,本文介紹在Redhat系列(redhat,Fedora Core,Centos)中的實現方法和一種在Gentoo等其他Linux中普遍適用的方法。 1、單網卡綁定多IP在Redhat系列中的實現方法 假設需要綁定多IP的網卡是eth0,請在/etc/sysconfig/network-scripts目錄裡面建立一個名為ifcfg-eth0:0的檔案, 內容範例為: DEVICE=”eth0:0″ IPADDR=”192.168.0.2″
Time of Update: 2018-12-04
核心中的 likely() 與unlikely()在 2.6 核心中,隨處可以見到 likely() 和 unlikely() 的身影,那麼為什麼要用它們?它們之間有什麼區別? 首先要明確: if(likely(value)) 等價於 if(value) if(unlikely(value)) 也等價於 if(value)也就是說 likely() 和 unlikely()
Time of Update: 2018-12-04
前提:廢話不多講,無法跟蹤進入調試,講得再多也是廢話。如何進入調試?1.編譯加上 -g 選項2.執行 gdb a.out (注意:a.out一定要存在,或者是指定路徑,這樣gdb才能導入並進行詳細分析)3.查看源檔案並設置斷點(設置斷點可以設置函數斷點,比如 b myfuncname)4.執行,run arguments (需要加上a.out的參數) GDB 概述———— GDB 是 GNU 開源組織發布的一個強大的 UNIX 下的程式調試工具。或許,各位比較喜歡那種圖形介面方式的,像
Time of Update: 2018-12-04
linux下的shell是很強大的,所以想在window下也可以用這些命令,有一些辦法:1) 安裝linux虛擬機器2) 使用cgwin,這個是最強的交叉編譯工具,但還有有點大,全部有1G多3) UnxUtils,一個比較老,但很實用輕巧的工具集,只有3M左右\usr\local\wbin 的絕對目錄加到系統變數path裡面,就可以用shell命令了,如ls,cat等等4) gnuwin32 , 這個算是比較官方的工具了,但很多命令都沒有,比如cat5) msysgit,
Time of Update: 2018-12-04
查看cpu資訊 # cat /proc/cpuinfo說明: 1.process會從0開始計數,一直持續到結束。可以清楚的看到機器的cpu數目。 2.查看物理cpu關注physical id的值,該值相同的話則表示為同一顆CPU。 3.查看flag標誌,如果有ht標誌,則說明支援超執行緒技術。【詳情見本文末尾】 常用的組合命令 1.查看cpu個數及型號 # cat /proc/cpuinfo | grep name | cut -f2 -
Time of Update: 2018-12-04
Linux中斷實現方法(二):中斷處理過程三、中斷處理過程 這一節將以S3C2410為例,描述linux-2.6.26核心中,從中斷開始,中斷是如何一步一步執行到我們註冊函數的。 3.1 中斷向量表 archarmkernelentry-armv.S__vectors_start: swi SYS_ERROR0 b vector_und + stubs_offset ldr pc, .LCvswi +
Time of Update: 2018-12-04
在嵌入式linux系統中擷取磁碟總空間的方法,一般會仿照busybox的做法,使用函數:setmntent 與 getmntent、endmntent下面我向大家介紹一種直接讀取/proc/下檔案,直接獲得磁碟總空間大小的方法:static double get_disk_totoal_size(){ #define DISK_SECTOR_FILE "/proc/ide/hda/capacity" double dTotalSize = -1.0; FILE *fp =
Time of Update: 2018-12-04
轉自:http://codingstandards.iteye.com/blog/826924 用途說明stty命令用於顯示和修改終端行設定(change and print terminal line settings)。常用參數stty命令不帶參數可以列印終端行設定,加上-a參數可以列印得更詳細些。stty size可以顯示終端的大小,即行數和列數。stty命令還可以更改終端行的設定,格式如下:stty SETTING CHAR其中,SETTING可以是如下 eof :
Time of Update: 2018-12-04
Time of Update: 2018-12-04
《Linux iSCSI target配置全過程》文章分類:作業系統一:Install iSCSI target for Linux1,作業系統:[root@rac2 ~]# cat /etc/issueEnterprise Linux Enterprise Linux AS release 4 (October Update 4)Kernel r on an m[root@rac2 /]# uname -aLinux rac2.mycorpdomain.com 2.6.9-42.0.0.0.1
Time of Update: 2018-12-04
網路攝影機預覽正常,在點擊“退出按鈕”,或者關閉運行表單後,下面的編譯器輸出欄彈出一堆警告,如下:*** glibc detected *** /home/yan/qt/Camera_Read_OpenCv_V1-build-desktop-Desktop_Qt_4_8_0_for_GCC__Qt_SDK____/Camera_Read_OpenCv_V1: free(): invalid pointer: 0xafeff000 ***======= Backtrace:
Time of Update: 2018-12-04
功能說明:建立或修改備存檔案,或是從備存檔案中抽取檔案。語 法:ar[-dmpqrtx][cfosSuvV][a<成員檔案>][b<成員檔案>][i<成員檔案>][備存檔案][成員檔案]補充說明:ar可讓您集合許多檔案,成為單一的備存檔案。在備存檔案中,所有成員檔案皆保有原來的屬性與許可權。參 數: 指令參數 -d 刪除備存檔案中的成員檔案。 -m 變更成員檔案在備存檔案中的次序。 -p 顯示備存檔案中的成員檔案內容。 -q
Time of Update: 2018-12-04
本文轉自http://www.cublog.cn/u3/92327/showart_2255574.html MTU: Maxitum Transmission Unit 傳輸單元最大值MSS: Maxitum Segment Size 最大分段大小MSS最大傳輸大小的縮寫,是TCP協議裡面的一個概念。MSS就是
Time of Update: 2018-12-04
http://www.boluor.com/summary-of-fork-in-linux.htmlfork函數在linux中非常重要,因為進程大多是通過它來建立的,比如linux系統在啟動時首先建立了進程0,之後的很多進程藉助do_fork得到建立.這兩天在看匿名管道時瞭解了下fork,其應用畢竟廣,這裡只說些我才學到的吧.首先來看例1.#include "stdio.h" #include "unistd.h" #include "stdlib.h" int main(){
Time of Update: 2018-12-04
用ChartDirector這個c++庫畫圖的時候會遇到亂碼的問題。在同事的指導下,將所有的中文先轉換成utf8編碼。
Time of Update: 2018-12-04
在redhat2.4.20-8下編譯通過:由於本程式視窗部分由glad工具編製,原始碼不易貼出,現只給出部分回呼函數的代碼:1,“退出”按鈕回呼函數:voidon_button9_clicked (GtkButton *button, gpointer
Time of Update: 2018-12-04
Linux 下操作gpio: 對於在不支援虛擬記憶體的作業系統和根本就沒有使用作業系統的系統裡操作GPIO直接讀寫對應的GPIO寄存器就可以啦,但是在linux這樣的作業系統下,核心層和應用程式層都是處於虛擬位址中,而GPIO的寄存器都是處於物理地址中,你必須編寫一個操作GPIO的驅動,或者是使用一些變通的技巧來操作GPIO. 目前我所知道的在linux下操作GPIO有兩種方法:
Time of Update: 2018-12-04
Linux下開發C程式,甚至是GUI程式,都可能需要處理複雜的命令列參數。健全、可靠的複雜命令列參數處理機制,可使程式方便使用,也更顯專業。Linux下幾乎所有的命令都提供了參數處理機制,包括短選項和長選項。 POSIX標準中對程式名、參數作了如下相關約定: * 程式名不宜少於2個字元且不多於9個字元; * 程式名應只包含小寫字母和阿拉伯數字; * 選項名應該是單字元活單數字,且以短橫‘-‘為前綴; * 多個不需要選項參數的選項,可以合并。(譬如:foo -a -b -