vi編輯器是linux系統上常用的文字編輯器
vim 是vi的改進版本,增加了很多擴充套件功能,使之更適合編輯各種程式語言的源**。
vim官方:vim不是文字處理軟體,而是程式開發工具
vi/vim命令模式的分類
一般模式(開啟vi時預設進入一般模式)
可以移動游標,可以刪除文字,可以複製貼上(通過命令)
命令輸入完畢就執行,不需要回車確認。執行完畢後還在一般模式下。
插入(編輯)模式
在一般模式下,輸入【a,a,i,i,o,o,r.r】,可進入編輯模式。
輸入模式下按esc,可返回命令模式。
底行命令模式
作用:將檔案儲存或退出vi,也可以設定編輯環境,如尋找字串、列出行號等。
在一般模式下輸入":"或者"/"為前導指令,出現在螢幕的最下一行,任何輸入都被當成特別指令。
輸入命令需要回車確認才執行,執行完畢後返回一般模式。
gcc工具鏈
gnu/linux系統上常用的編譯工具是gcc。gcc實質上不是乙個單獨的程式,而是多個程式的集合,因此通常稱為工具鏈。
從c語言原始碼到可執行程式一般要經過以下的處理步驟:
1. 預處理
在這一階段,原始碼中的所有預處理語句得到處理,例如
#include語句所包含的檔案內容替換掉語句本身
所有已定義的巨集被展開
根據#ifdef,#if等語句的條件是否成立取捨相應的部分
預處理之後原始碼中不再包含任何預處理語句。
gcc預處理階段可以生成.i的檔案,通過選項-e可以使編譯器在預處理結束時就停止編譯。例如:
gcc -e hello.c -o hello.i
2. 編譯
這一階段,編譯器對原始碼進行詞法分析、語法分析、優化等操作,最後生成彙編**。這是整個過程中最重要的一步,因此也常把整個過程稱為編譯。
可以通過選項-s使gcc在進行完編譯後停止,生成.s的匯程式設計序。例如:
gcc -s hello.c -o hello.s
3. 彙編
這一階段使用彙編器對彙編**進行處理,生成機器語言**,儲存在字尾為.o的目標檔案中。
當程式由多個**檔案構成時,每個檔案都要先完成彙編工作,生成.o目標檔案後,才能進入下一步的鏈結工作。
目標檔案已經是最終程式的某一部分了,只是在鏈結之前還不能執行。可以通過-c選項生成目標檔案:
gcc -c hello.c -o hello.o
4. 鏈結
鏈結的主要內容是把各個模組之間相互引用的部分處理好,使得各個模組之間能夠正確地銜接。
比如:hello程式呼叫了printf函式(標準c庫中的乙個函式)
而printf函式存在於乙個名為printf.o的單獨的目標檔案中。
鏈結器負責併入printf.o,結果得到hello檔案,使其成為乙個可執行目標檔案(或者簡稱為可執行檔案)。
gcc hello.c -o hello
make工具
假設:乙個軟體工程包含幾十上百個檔案,我每次除錯只修改其中幾個個檔案,如果用簡單的gcc編譯器,會有什麼麻煩?
1用gcc再次編譯時,其他沒有修改的檔案也要進行再次編譯,浪費時間。
2.每次都要輸入很長的gcc命令,使用麻煩。
解決辦法:使用make工具,解決以上兩個問題
make工具的基本用法如下:
make [-c dir] [-f file] [target ...]
-c dir: 執行時進入dir目錄,預設是當前目錄
-f file: 使用file作為makefile
target: 要完成的目標,目標在makefile中定義,預設是定義的第1個目標
gdb除錯工具
啟動後進入gdb互動介面,可以輸入gdb的命令開始除錯,常用命令如下,通常直接回車就是重複上一條命令。
Python 開發工具介紹
一 editra開發工具功能介紹 首先editra是個開源專案,用python編寫而成。目前支援50多種指令碼編寫。它可在 linux windows 及 mac os x 等系統上執行。它有以下一些功能 語法高亮顯示,支援 60 種語言 摺疊 自動縮排 自動補完 呼叫提示 python 支援正則搜...
oracle開發工具介紹
a sqldbx 王金生曾推薦過的一款資料庫客戶端開發工具,使用容易,不需要額外的安裝其它外掛程式,有sql提示功能,支援 oracle,sybase ase,ibm,db2 udb,microsoftsql server 和odbc 資料來源,免費綠色版。b plsql developer 專門針...
常用開發工具介紹
1 常用四大工具 序號開發工具名稱 簡稱描述 用途 1visual studio vs服務層軟體開發的工具 2sql server oracle sql server oracle 儲存應用服務的資料 3altova xmlspy xml4 subversion svn 管理工具,是乙個開放源 的版...