Time of Update: 2018-12-03
#include <stdlib.h>#include <stdio.h>#include <string.h>#include <errno.h>#include <unistd.h>#include <sys/stat.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/shm.h>#define PERM
Time of Update: 2018-12-03
Linux系統任何時候都運行在一個指定的運行級上,並且不同的運行級的程式和服務都不同,所要完成的工作和要達到的目的都不同,系統可以在這些運行級之間進行切換,以完成不同的工作。linux的運行層級一共有7個即0-6,分別如下:0. 關機1. 單使用者2. 多使用者狀態沒有網路服務3. 多使用者狀態有網路服務4. 系統未使用,保留給使用者5. 圖形介面6. 系統重啟改變系統運行層級,使用命令init [0123456],加上任何一個數字就可以改變運行層級。init [0123456] 如果設定為0,
Time of Update: 2018-12-03
現在很多筆記本或者台式機,出廠都裝上了 ubuntu 或者其它 linux 版本的作業系統。在 windows 下面可以很方便快捷的看出當前 cpu 的資訊,那麽在 linux 下面如何很快的知道呢?!也很簡單,不信你可以試一試下面這個命令:lscpu可以看出,cpu 的資訊出來了,紅色部分是 CPU 的位元和 CPU 的核心數。其實使用下面的命令會看的更加詳細:cat -n /proc/cpuinfo但是內容太多,看起來費勁。下面給出幾個常用的命令。a. 查看物理 CPU 的個數cat
Time of Update: 2018-12-03
在linux下使用CMake構建應用程式 本文介紹了一個跨平台的自動化構建系統 CMake 在 linux 上的使用方法。 CMake 是一個比 automake更加容易使用的工具,能夠使程式員從複雜的編譯串連過程中解脫出來。文中通過一些例子介紹使用 CMake處理多源檔案目錄的方法、尋找並使用其他開發包的方法以及產生 debug 版和 release 版程式的方法。CMake 簡介 CMake 是一個跨平台的自動化建構系統,它使用一個名為
Time of Update: 2018-12-03
http://www.cnblogs.com/wondering/archive/2009/05/21/boost_setup.html 理論上,本文適用於boost的各個版本,尤其是最新版本1.39.0;適用於各種C++編譯器,如VC6.0(部分庫不支持),VS2003,VS2005,VS2008,gcc,C++
Time of Update: 2018-12-03
之前沒有用過CPPUnit,可是現在的公司在用。為了準備TDD代碼道場,今天下載了一份。可剛編譯就遇到了問題,查了一下,是原程式碼封裝中的配置項錯了,現象如下:運行 ./configure 和make以後,出現錯誤:undefined reference to `dlclose'undefined reference to `dlopen'undefined reference to `dlsym'解決的方法是在 ./configure 後面加上參數LDFLAS=‘-ldl’:make
Time of Update: 2018-12-03
最近要做一個關於LTE的項目,模組廠家提供的驅動裡面有usb轉串口驅動,usb網卡驅動,項目還沒立項所以比較空,閑的蛋疼把usb轉串口驅動研究了一遍,本文盡量用畫圖把事情說明白,獻給各位糾結的童鞋。首先說一下linux的風格,個人理解1. linux大小結構體其實是物件導向的方法,(如果把struct 比作類,kmalloc就是類的執行個體化,結構體裡面的函數指標就是方法,還有重構,多態)2.
Time of Update: 2018-12-03
前段時間買了顯示器就將自己的古董本本(P3)換成了ubuntu,後來調好samba,配置ssh的時候卻老是有問題,氣的我啊。。。。想起自己雖然斷斷續續從redhat9開始用linux,經曆了fc4,fc6,ubuntu8.04到現在的ubuntu8.10,可是每次碰到問題無非就是google一下,解決了,也就不管了。這樣的方式以前自己覺得挺不錯,自號google流,其實現在想起來,那樣的學習並不系統。這就像學院派和自學成才的區別一樣。腦海中都還沒有一個完整的架構前,就開始不停的添磚添瓦,等過段時
Time of Update: 2018-12-03
既然準備嘗試在linux下開發程式,一些準備工作是必須的,比如makefile,shell,等等,目前學習了一下makefile檔案的寫法,的確大有學問,趁著這個學習的機會,翻看了一下公司目前的通用makefile,發現其實寫的並不是很好,這點到時候和總監去說說,雖然改起來方便,但是實際上對於檔案的依賴性處理的有問題。另外,看了一下automake的東西,發現那東西只適合程式的發布時使用,不適合開發的時候使用。於是,自己想寫一個開發用的make檔案自動產生工具,也有些思路,順面熟悉一下這段時間囫
Time of Update: 2018-12-03
程式主要參考:http://hector.blog.51cto.com/4229131/758930#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h> #include <sys/stat.h> #include <fcntl.h> union semun
Time of Update: 2018-12-03
http://blog.csdn.net/caihaijiang/article/details/6113419less命令可以對檔案或其它輸出進行分頁顯示,與moe命令相似,但是比more命令要強大許多。在 less 中導航命令類似於 vi,如下:1 搜尋當使用命令 less file-name 開啟一個檔案後,可以使用下面的方式在檔案中搜尋。搜尋時整個文本中匹配的部分會被高亮顯示。1) 向前搜尋/ : 使用一個模式進行搜尋,並定位到下一個匹配的文本n : 向前尋找下一個匹配的文本N :
Time of Update: 2018-12-03
1. 查看cpu數目 cat /proc/cpuinfo | grep 'cpu cores' 因為cat /proc/cpuinfo中顯示的並不是真實的數目2. difft1:aaabbbccc1112233ddddddt2:aaabbbbcc1111a2233tttttadfdiff t1 t2輸出是:2,5c2,5 //第一個檔案的2-5行與第二個檔案的2-5行不一樣< bbb< < ccc< 111---> bbbb> cc> 111
Time of Update: 2018-12-03
http://coderbee.net/index.php/linux/20130424/41涉及在linux命令列下進行快速移動游標、命令編輯、編輯後執行曆史命令、Bang(!)命令、控制命令等。讓basher更有效率。說明Ctrl – k: 先按住 Ctrl 鍵,然後再按 k 鍵;Alt – k: 先按住 ALT 鍵,然後再按 k 鍵;M – k:先單擊 Esc 鍵,然後再按 k 鍵。移動游標Ctrl – a :移到行首Ctrl – e :移到行尾Ctrl – b
Time of Update: 2018-12-03
轉載:http://hi.baidu.com/xuehuo_0411/blog/item/98559cf46107573fbd3109f6.html在使用linux的終端工具SecureCRT的時候,每次提交SVN想輸入中文日誌的時候總是輸不了中文。svn ci -m ""
Time of Update: 2018-12-03
轉載:http://www.php-oa.com/2010/01/03/linux-io-elevator.htmlI/O 調度演算法再各個進程競爭磁碟I/O的時候擔當了裁判的角色.他要求請求的次序和時機做最佳化的處理,以求得儘可能最好的整體I/O效能.其實所有的 IO 最佳化只有二點,合并和排序…在linux下面列出4種調度演算法CFQ (Completely Fair Queuing
Time of Update: 2018-12-03
轉載:http://blog.csdn.net/sunmenggmail/article/details/7888746 一個大型的應用系統,往往需要眾多進程協作,進程(Linux進程概念見附1)間通訊的重要性顯而易見。本系列文章闡述了Linux環境下的幾種主要處理序間通訊手段,並針對每個通訊手段關鍵技術環節給出詳細執行個體。為達到闡明問題的目的,本文還對某些通訊手段的內部實現機制進行了分析。序linux下的進程通訊手段基本上是從Unix平台上的進程通訊手段繼承而來的。而對Unix發展做出重大貢
Time of Update: 2018-12-03
一、引言 Linux作為一個開源的作業系統,是我們進行作業系統和提高編程水平的最佳途徑之一。 好的程式如同好的音樂一樣,完成的完美、巧妙。開放源碼的程式都是經過無數人檢驗地,本文將以linux-kernel-2.6.5為例對pipe的工作機制進行闡述。二、處理序間通訊的分類 大型程式大多會涉及到某種形式的處理序間通訊,一個較大型的應用程式設計成可以相互連信的“片段”,從而就把一個任務分到多個進程中去。處理序間通訊的方法有三種方式: 管道(pipe)
Time of Update: 2018-12-03
轉載:http://passer-byb.com/blog/85.html這個問題折騰了我有一個星期了,因為最近一直在搞有關磁碟的I/O的測試,因此需要繞過或者關閉VFS的cache直接對磁碟進行讀寫。Google過之後發現基本上想要關閉cache是不可能的,只有想辦法繞過了。於是很自然的想到了write()和read()這兩個東西,可是當時並沒意識到buffer跟cache並不是一個東西。write()跟read()雖然叫直接I/O但事實上他們只是繞過了buffer,也就是說在讀入跟輸出的時候
Time of Update: 2018-12-03
轉載:http://www.ibm.com/developerworks/cn/linux/l-pipebid/Linux 提供了 popen 和 pclose 函數 (1),用於建立和關閉管道與另外一個進程進行通訊。其介面如下:FILE *popen(const char *command, const char *mode);int pclose(FILE *stream);遺憾的是,popen 建立的管道只能是單向的 -- mode 只能是 "r" 或 "w"
Time of Update: 2018-12-03
首先檢查SecureCRT,設定Options->Global options->General->Default session->Edit Default Settings->Terminal->Appearance->Character encoding,選擇UTF-8。 然後設定Options->Global options->General->Default session->Edit Default Settings-