Time of Update: 2015-01-19
標籤:程式崩潰 linux c++ 彙編 調試技術 在大型項目中,很容易出現版本不匹配的問題,其中導致的虛函數飄移的問題比較難解決。 在這裡,用一個例子來說明如何解決這種問題。建立三個源檔案:testso.h,testso.cpp,xuzhina_dump_c6_s3_ex.cpp。testso.h的代碼如下: 1
Time of Update: 2015-01-18
標籤:1,禁止核心搶佔的函數是preempt_disable(),允許核心搶佔的方法是preempt_enable()2,真正的上鎖前,為何要調用preempt_disable()來關閉搶佔的case http://blog.csdn.net/kasalyn/article/details/11473885 [cpp] view
Time of Update: 2015-01-18
標籤:1,在/proc檔案系統下建立節點的APIhttp://www.cnblogs.com/ziziwu/archive/2011/10/20/2218975.html struct proc_dir_entry *create_proc_entry (const char *name, mode_t mode, struct proc_dir_entry *parent); 其中參數分別是 /proc 檔案名稱,掩碼,父目錄。[cpp] view
Time of Update: 2015-01-18
標籤:1,系統調用的概念:是使用者空間訪問核心的唯一手段,系統調用依靠軟體中斷實現,每個系統調用被賦予一個系統調用號,用來指明要執行哪個系統調用。2,系統調用的實現:系統調用是通過軟中端(SWI)實現的,SWI指令SWI指令的格式為:SWI{條件} 24位的立即數SWI指令用於產生軟體中斷,以便使用者程式能叫用作業系統的系統常式。作業系統在SWI的例外處理常式中提供相應的系統服務,指令中24位的立即數指定用
Time of Update: 2015-01-18
標籤:點擊開啟連結一,linux非強制中斷的概念非強制中斷(softirq)常常表示可延遲函數的所有種類,目前linux上使用的非強制中斷個數是有限的,linux最多註冊32個,目前使用了10個,在interrupt.h中定義,中斷上下文:表示核心當前正在執行一個中斷處理常式或者一個可延遲函數。非強制中斷(即使同一類型的非強制中斷)可以並發運行在多個CPU上,因此非強制中斷是可重新進入函數必須使用自旋鎖保護其資料結構。一個非強制中斷不會去搶佔另外一個非強制中斷。非強制中斷和tasklet的區別由
Time of Update: 2015-01-18
標籤:1,Tasklet的概念tasklet是利用非強制中斷實現的一種下半部機制,tasklet由兩類非強制中斷的代表,HI_SOFTIRQ和TASKLET_SOFTIRQ,這兩個的區別是HI_SOFTIRQ類型的非強制中斷先於TASKLET_SOFTIRQ類型的非強制中斷先執行。tasklet由tasklet_struct結構表示,每個結構單獨代表一個tasklet,在interrupt.h中定義。 [cpp] view
Time of Update: 2015-01-18
標籤:1,如何禁止當前CPU上的所有中斷local_irq_save()和local_irq_restore()函數,[cpp] view
Time of Update: 2015-01-18
標籤:1,__attrubte__關鍵字的作用點擊開啟連結__attrubte__ ((packed)) 的作用就是告訴編譯器取消結構在編譯過程中的最佳化對齊,按照實際佔用位元組數進行對齊。struct str_struct{ __u8 a; __u8 b;&
Time of Update: 2015-01-18
標籤:linux核心————隊列linux核心——隊列定義: [cpp] view
Time of Update: 2015-01-18
標籤:一,linux時間管理基礎http://blog.csdn.net/droidphone/article/details/7975694http://blog.csdn.net/smilingjames/article/details/6205540linux所有時間基礎都是以低層硬體為基礎的,低層硬體有GPT和cpu local timer,比如GPT的時鐘源為13M HZlinux低層時間的架構分為clock source,clock event device,clock
Time of Update: 2015-01-18
標籤:一:工作隊列概念工作隊列可以把工作推後,交由一個核心線程去執行,工作隊列運行在進程上下文中,工作隊列運行重新調度甚至睡眠核心驅動程式一般將下半部分交給核心預設的工作者線程去做二:驅動中使用工作隊列的步驟1,聲明一個work_struct結構體[cpp] view plaincopy struct work_struct work; 2,動態建立一個由work指向的工作,處理函數為func[cpp] view
Time of Update: 2015-01-18
標籤:這裡只講linux下安裝Yii2的方法,windows安裝yii2 的方法 請參見我的另一篇博文 http://blog.csdn.net/zqtsx/article/details/39344913 第一步 安裝Composer:文法:“curl -sS https://getcomposer.org/installer |
Time of Update: 2015-01-18
標籤:今天繼續研究posix
Time of Update: 2015-01-18
標籤:whereis 命令只能用於程式名的搜尋,而且只搜尋二進位檔案(參數-b)、man說明檔案(參數-m)和原始碼檔案(參數-s)。[[email protected] ~]# whereis svnsvn: /usr/bin/svn /usr/share/man/man1/svn.1.gz[[email protected] ~]# whereis tomcattomcat: /usr/local/tomcat[[email protected] ~]#
Time of Update: 2015-01-19
linux之C編程學習——getchar(),linuxc編程getchargetchar函數名: getchar功 能: 從stdin流中讀字元用 法: int
Time of Update: 2015-01-19
Linux普通使用者偽裝root使用者1 版本資訊系統版本:Red Hat EnterpriseLinux * 2 配置步驟2.1 添加新使用者添加新使用者。useradd username2.2 修改使用者密碼修改使用者密碼。passwd username2.3 修改passwd設定檔修改passwd檔案,將root的資訊賦予新使用者username。vi /etc/passwd
Time of Update: 2015-01-19
centos6上增加磁碟配額限制建五個使用者,均需要進行磁碟配額限制,每個使用者的配額為 10MB (hard) 以及 8MB (soft)0環境[root@localhost ~]# uname -aLinux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux[root@localhost ~]# nl
Time of Update: 2015-01-19
Linux學習筆記(6)Linux常用命令之協助命令與使用者管理命令,學習筆記常用命令(1)manman命令用於獲得命令或設定檔的協助資訊,英文原意為manual,所在路徑為/usr/bin/man,其文法格式為:man [命令或設定檔]注意:查看設定檔的協助資訊時無需絕對路徑。查看命令的協助資訊主要查看命令的用途(NAME)及相應的選項,而設定檔的協助主要是查看存放資訊(NAME)及其對應的格式。Linux中每個設定檔都有對應的格式。如查看ls命令的協助,man
Time of Update: 2015-01-19
linux下查看硬碟型號、大小等資訊(含Raid)linux 下查看硬碟型號、大小等資訊,機器有沒有做Raid有關係 一、普通模式(該機硬碟沒有做磁碟陣列)1、fdisk -l 查看你的硬碟編號,如sda,sdb 等2、smartctl --all /dev/sda smartctl --all /dev/sda #該命令centos內建 [root@localhost ~]# smartctl --all /dev/sdasmartctl 5.43 2012-06-30 r3573 [x86_
Time of Update: 2015-01-19
Cent6.6,隨身碟安裝,64位下正常運行DrClient之前用隨身碟安裝Cent6.4各種鬧心,網上教程基本一樣,不重複。後改用6.6,正題開始。1.下一個.iso檔案(大家都沒問題,我相信你們)。2.用UltraISO,直接燒錄隨身碟,比較簡單,啟動-->寫入硬碟鏡像-->彈出另一個框,右邊有一個啟動方式,HDD+,別忘了選隨身碟。(沒問題,準備工作OK)。3.啟動方式改成隨身碟啟動,直接裝Cent,可以參考網上教程,比較多,不贅述。4.將你的DrClient放到系統中