Time of Update: 2018-07-25
Eclipse Helios 3.6.2 官網下載地址 2011-06-02 11:05 從上至下依次為: Windows 32bit Windows 64bit Linux 32bit
Time of Update: 2018-07-25
以前用Windows的時候聽歌一般都是用TTPlayer(千千靜聽) 的,主要是有歌詞的同步顯示,很好的功能。 現在做什麼都用Linux了,wine一個千千靜聽太費資源,所以一直用Audacious,感覺也很不錯,可惜的是沒有歌詞同步的支援。。。。雖然有一個外掛程式可以用,但是不是很好安裝,支援也不夠。。。。 這個學期的專業實踐正好可以做點東西,決定做個Linux下的播放器,支援歌詞同步顯示。 下面是一個簡單的需求個立項計劃: 1 項目概述 2 項目名稱
Time of Update: 2018-07-25
tomcat安裝沒啥說的,去apache tomcat官網下載需要tomcat對應版本zip,上傳至linux服務相關檔案夾下,執行unzip -d tomcat 解壓,然後進行以下配置1.設定執行許可權,新上傳的tomcat檔案均沒有執行許可權,為bin檔案夾下的.sh統一加上執行許可權 cd bin chmod +x *.sh 或者簡單粗暴的執行 chmod 777 -R bin
Time of Update: 2018-07-25
一、 Makefile 介紹 Makefile 是用於自動編譯和連結的 ,一個工程有很多檔案組成 ,每一個檔案的改變都會導致工程的重新連結 ,但是不是 所有的檔案都需要重新編譯 ,Makefile 中紀錄有檔案的資訊 ,在 make
Time of Update: 2018-07-25
導言:System V共用記憶體和共用檔案對應,允許無關進程共用記憶體地區以便執行IPC通訊。但這兩種技術都存在一些不足:1. System V共用記憶體模型使用的是鍵和標識符,這與標準的UNIX I/O模型使用檔案名稱和描述符的做法是不一致的,這種差異意味著使用System V共用記憶體段需要一整套全新的系統調用和命令。2. 使用一個共用檔案對應來進行IPC要求建立一個磁碟檔案,即使無需對共用地區進行持久儲存也需要這樣做,除了因需要建立檔案所帶來的不便之外,這種技術還會帶來一些檔案I/O開銷。
Time of Update: 2018-07-25
以下代碼是父子進程交替列印變數counter的值。由於fork之後子進程會複製父進程的堆棧,訊號處理函數,訊號屏蔽字,在下面的程式會根據counter的不同初值進行分別。 #include <stdio.h>#include <signal.h>#include <unistd.h>#include <stdlib.h>#include <string.h>sigset_t newset, zeroset;static
Time of Update: 2018-07-25
之前對於檔案的操作通常在一個進程中完成,最近需要在兩個進程中對同一個檔案進行操作。故想到了檔案鎖。 linux下可以使用flock()函數對檔案進行加鎖解鎖等操作。簡單介紹下flock()函數: 表標頭檔 #include 定義函數 int flock(int fd,int operation);
Time of Update: 2018-07-25
多線程是多任務處理的一種特殊形式,多任務處理允許讓電腦同時運行兩個或兩個以上的程式。一般情況下,兩種類型的多任務處理:基於進程和基於線程。 基於進程的多任務處理是程式的並發執行。 線程的多任務處理是同一程式的片段的並發執行。 多線程程式包含可以同時啟動並執行兩個或多個部分。這樣的程式中的每個部分稱為一個線程,每個線程定義了一個單獨的執行路徑。 C++ 不包含多線程應用程式的任何內建支援。相反,它完全依賴於作業系統來提供此功能。
Time of Update: 2018-07-25
我們在linux下安裝軟體時經常會看到一個進度條,就像下面這樣: [########################################################][100%][/] 那麼,我們有沒有辦法實現一個簡單的進度條呢。linux下的進度條配色太單調,我們有沒有辦法實現一個彩色的進度條呢。想想都有趣,下面就讓我們來操作一下吧。 其實,幾行代碼就可以類比出來一個簡單的彩色進度條,就像這樣:
Time of Update: 2018-07-25
一、記憶體映像 在運行程式時,系統會自動的映射一塊虛擬記憶體,應用程式就是在這樣的虛擬記憶體空間中啟動並執行,如下: 二、儲存類型C語言中,定義變數或者數組時,都會對該變數或者數組的屬性進行說明,比如,int
Time of Update: 2018-07-25
最近負責的svr壓力比較大,商務邏輯有點複雜,能最佳化的地方已經全部最佳化了, 目前每秒3k次,cpu負載還是比較高 top看一下,4核的cpu負載不是太均衡,打算考慮一下將業務進程指定到3個cpu上運行,另外一個cpu專門負責處理網路收發包;打算嘗試一下,如果還是不行,再過段時間,訪問量再增加的話,就要加機器了,嗚嗚 補充:今天測試了一下,效果挺好,同樣進程數的情況下,進行cpu綁定
Time of Update: 2018-07-25
概念:線程是共用進程地址空間的多任務結構 建立線程的相關函數: 1. int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
Time of Update: 2018-07-25
#include <stdio.h>#include <string.h>#include <unistd.h>#include <sys/types.h>int main(void){int pipefd[2] = {-1};int ret = pipe(pipefd);int iSign = 0;char caMsg[32] = {'\0'};pid_t pid = fork();if(ret == -1){perror("no
Time of Update: 2018-07-25
上一篇文章介紹了rdtsc指令的精確計時,不過由於CPU的頻率不能保證是固定的,所以這樣的方式還是有限制。其實linux下還有一種高精度的定時器,那就是posix_timer。我記得以前看代碼的時候CLOCK_REALTIME的定時器似乎用的就是rdtsc指令,不過現在不確定了,先放到一邊。原理上來說,可以在變頻的時候也使用rdtsc指令,因為CPU的頻率我們也是知道的,變頻的時候核心也是知道的。
Time of Update: 2018-07-25
俗話說萬事開頭難,學習新知識也是如此,當我們下定決心要實現UNP中的例子時,發現卻無法將程式部署上去,這種感覺是不是很令人沮喪。本文就是用來給我自己這種linux菜鳥掃盲用的。 首先,UNP的源碼連結為 點擊開啟連結,下載完成後使用tar -zxvf命令進行解壓。 $ tar -zxvf unpv13e.tar.gz解壓完成後,進入該目錄。 $ cd
Time of Update: 2018-07-25
Linux的虛擬記憶體管理有幾個關鍵概念 1.每個進程有獨立的虛擬位址空間,進程訪問的虛擬位址並不是真正的物理地址 2.虛擬位址可通過每個進程的頁表與物理地址進行映射,獲得真正物理地址 3.如果虛擬位址對應的物理地址不在實體記憶體中,則產生缺頁中斷,並真正分配物理地址,同時更新進程的頁表;如果此時實體記憶體已耗盡,則根據記憶體替換演算法淘汰部分頁面至物理磁碟中。 Linux進程虛擬位址分布
Time of Update: 2018-07-25
簡介 用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者的定義對網路上的資料包進行截獲的包分析工具。 tcpdump可以將網路中傳送的資料包的“頭”完全截獲下來提供分析。它支援針對網路層、協議、主機、網路或連接埠的過濾,並提供and、or、not等邏輯語句來協助你去掉無用的資訊。 實用命令執行個體 預設啟動 tcpdump
Time of Update: 2018-07-25
關於核心中使用到的資料結構這一系列會有五篇文章, 分別介紹 鏈表 隊列 雜湊 映射 紅/黑樹狀結構 一、首先介紹核心中鏈表
Time of Update: 2018-07-25
在Linux下使用 qt-opensource-linux-x86-5.3.1.run 安裝,注意要在管理員權限下 環境變數配置: 這裡以我安裝的路徑(/opt/Qt5.3.1/5.3/gcc_64)為例: 註:export可以新增,修改或刪除一個環境變數 centos 下是/etc/bashrc ubuntu下是~/.bashrc 1. vim /etc/bashrc 在 /etc/bashrc最下面加入: export
Time of Update: 2018-07-25
轉自:http://blog.chinaunix.net/uid-25808509-id-2930277.html 在linux下編程時,有時候我們需要擷取shell命令的執行結果,一種比較笨的方法是將shell命令的執行結果儲存到檔案,然後在讀檔案,讀完之後,再刪除檔案,或者使用臨時檔案也行。這種方法比較繁瑣,我推薦的一種方法是使用popen函數,FILE *popen(const char *command, const char