Linux相關開發工具

2021-08-28 21:52:48 字數 4210 閱讀 4596

開始學習在linux下敲**,但是vim太難用,便學習配置,給大家分享下,嘻嘻。

1)簡易版

a.進入root

b.在當前使用者的主目錄下創.vimrc檔案

c.將下面**貼上到 .vimrc檔案

「雙引號開始的行為注釋行,下同

「去掉討厭的有關vi一致性模式,避免以前版本的一些bug和侷限

set nocompatible

「顯示行號

set number

「檢測檔案的型別

filetype on

「記錄歷史的行數

set history=1000

「背景使用夜晚模式 //你會很爽的

color evening

「語法高亮度顯示

syntax on

「下面兩行在進行編寫**時,在格式對起上很有用;

「第一行,vim使用自動對起,也就是把當前行的對起格式應用到下一行;

「第二行,依據上面的對起格式,智慧型的選擇對起方式,對於類似c語言編

「寫上很有用

set autoindent

set smartindent

「第一行設定tab鍵為4個空格,第二行設定當行之間交錯時使用4個空格

set tabstop=4

set shiftwidth=4

「設定匹配模式,類似當輸入乙個左括號時會匹配相應的那個右括號

set showmatch

「去除vim的gui版本中的*******

set guioptions=t

「當vim進行編輯時,如果命令錯誤,會發出乙個響聲,該設定去掉響聲

set vb t_vb=

「在編輯過程中,在右下角顯示游標位置的狀態行

set ruler

「預設情況下,尋找匹配是高亮度顯示的,該設定關閉高亮顯示

set nohls

「查詢時非常方便,如要查詢book單詞,當輸入到/b時,會自動找到第一

「個b開頭的單詞,當輸入到/bo時,會自動找到第乙個bo開頭的單詞,依

「次類推,進行查詢時,使用此設定會快速找到答案,當你找要匹配的單詞

「時,別忘記回車

set incsearch

「修改乙個檔案後,自動進行備份,備份的檔名為原檔名加「~「字尾

if has(「vms」) //注意雙引號要用半形的引號" "

set nobackup

else

set backup

endif

"自動補全

:inoremap ( ()i

:inoremap ) =closepair(')'):inoremap o

:inoremap } =closepair('}'):inoremap [ i

:inoremap ] =closepair(']'):inoremap " ""i

:inoremap ' ''i

function! closepair(char)

if getline('.')[col('.') - 1] == a:char

return "\"

else

return a:char

endif

endfunction

filetype plugin indent on

2)優化版

用gdb進行除錯糾錯前必須要在編譯選項中新增「-g」,「-g」標誌是對程式進行除錯性編譯時常用的選項。我們需要給每乙個需要除錯的原始檔都加上這個選項。它將使用特殊版本的c語言標準庫完成編譯和鏈結操作,給庫函式加上程式除錯方面的支援。編譯器會把這些標誌自動傳給鏈結器,加選項-g是為了能夠除錯。不加可以執行,但不能除錯。

用rpm方式安裝軟體,如果依賴的軟體沒有事先安裝,軟體無法安裝成功。

為了解決這個問題,推出yum方式。

既然依賴的軟體沒有安裝在機器上,那麼就先安裝依賴檔案,再安裝我需要安裝的軟體。

因此yum在安裝軟體同時安裝依賴檔案。

因此需要乙個yum源來放依賴的軟體源,對比被安裝機器上rpm軟體庫歸根到底,yum也是基於rpm的。

步驟: 編譯原始碼,然後安裝

1.1安裝準備:

a、 首先用yum安裝gcc,用於編譯原始碼

1.2 安裝過程

a、解壓

b、進入解壓後的目錄配置檔案 ./configure # 大多數情況下原始碼包都會帶configure這樣乙個配置工具,具體使用方法可以vim檢視其內容

c、make #編譯原始碼包 如果報錯了 make clean 清除快取重新make

d、make install # 安裝

然後刪除原始碼包軟體和安裝目錄

(3)rpm是安裝本地存在的rpm包,如果存在依賴也需要安裝上,如果某個rpm是自己修改編譯的,那麼只能用rpm安裝了

rpm安裝:安裝別人編譯好的軟體包

rpm即redhat package manager,redhat的軟體包管方式,適用rpm install 命令

rpm不僅已經把軟體源**編譯成二進位制檔案,而且對軟體包依賴的檔案,系統環境等做了統計副檔名:rpm

還有一種srpm:沒有編譯成二進位制檔案,但是也包含rpm的特性

1)簡單了解

readelf命令用來顯示乙個或者多個elf格式的目標檔案的資訊,可以通過它的選項來控制顯示哪些資訊。這裡的elf-file(s)就表示那些被檢查的檔案。可以支援32位,64位的elf格式檔案,也支援包含elf檔案的文件(這裡一般指的是使用ar命令將一些elf檔案打包之後生成的例如lib*.a之類的「靜態庫」檔案)。

這個程式和objdump提供的功能類似,但是它顯示的資訊更為具體,並且它不依賴bfd庫(bfd庫是乙個gnu專案,它的目標就是希望通過一種統一的介面來處理不同的目標檔案),所以即使bfd庫有什麼bug存在的話也不會影響到readelf程式。

執行readelf的時候,除了-v和-h之外,其它的選項必須有乙個被指定。

2)命令選項

-a 

--all 顯示全部資訊,等價於 -h -l -s -s -r -d -v -a -i.

-h --file-header 顯示elf檔案開始的檔案頭資訊.

-l --program-headers

--segments 顯示程式頭(段頭)資訊(如果有的話)。

-s --section-headers

--sections 顯示節頭資訊(如果有的話)。

-g --section-groups 顯示節組資訊(如果有的話)。

-t --section-details 顯示節的詳細資訊(-s的)。

-s --syms

--symbols 顯示符號表段中的項(如果有的話)。

-e --headers 顯示全部頭資訊,等價於: -h -l -s

-n --notes 顯示note段(核心注釋)的資訊。

-r --relocs 顯示可重定位段的資訊。

-u --unwind 顯示unwind段資訊。當前只支援ia64 elf的unwind段資訊。

-d --dynamic 顯示動態段的資訊。

-v --version-info 顯示版本段的資訊。

-a --arch-specific 顯示cpu構架資訊。

-d --use-dynamic 使用動態段中的符號表顯示符號,而不是使用符號段。

-x --hex-dump=以16進製制方式顯示指定段內內容。number指定段表中段的索引,或字串指定檔案中的段名。

-w[liaprmffsor] or

--debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=ranges] 顯示除錯段中指定的內容。

-i --histogram 顯示符號的時候,顯示bucket list長度的柱狀圖。

-v --version 顯示readelf的版本資訊。

-h --help 顯示readelf所支援的命令列選項。

-w --wide 寬行輸出。

@file 可以將選項集中到乙個檔案中,然後使用這個@file選項載入。

詳細可參考:

Linux開發工具

linux開發工具 vim gcc gdb make git github 文字編輯器 vim 功能最強大 1 使用 三種模式 命令列模式 插入模式 底行模式 vim 空格 檔名 例如vim hello.c 此時是命令列模式 無法插入資料 需要進入插入模式 按i或者a 退出插入模式 按esc 切換到...

Android Studio開發工具相關問題記錄

1.使用android studio時你應該知道的一切配置 第一次使用android studio時你應該知道的一切配置 第一次使用android studio時你應該知道的一切配置 二 新建乙個屬於自己的工程並安裝genymotion模擬器 第一次使用android studio時你應該知道的一切...

《Linux程式設計》 開發工具

一 多個原始檔帶來的問題 二 make命令和makefile 1 makefile的語法 1 makefile檔案由一組依賴關係和規則組成。2 make命令會會根據makefile檔案來確定目標檔案的建立順序以及正確的規則呼叫順序。2 make命令的選項和引數 1 make程式選項 i k 讓mak...