vim文字編輯器的基本操作及gcc、gdb的基本使用方法

來源:互聯網
上載者:User

標籤:文本編輯   調用   ***   printf   ace   最新   錯誤   連結   依賴   

Vim test.c +24    開啟並定位到24行

命令模式

1、編輯模式

         h          向左

         j           向下

         k          向上

         l           向右

i       輸入 insert

gg=G  可以首行縮排

yy        拷貝

p         粘貼

R         替換模式

r          替換當前位置,回到命令模式

dd       刪除當前行

3dd     刪除游標以下3行

u  撤銷                 

:行號 轉移到對應行

J          將下一行拼接到上一行末尾

$          當前行的行尾

0或^   當前行的行首

w         跳到下一個單詞

b         跳到上一個單詞

}        跳到下一個空行

{        跳到上一個空行

在{或}上按%可以在兩者之間跳躍切換

dw      從游標位置刪除到當前單詞尾部

db       從游標位置刪除到當前單詞首部

x          刪除一個字元

K或3K        對於系統函數或庫函數可以跳轉到其協助手冊

         v          可視化(jk操作後 x刪除y複製)只能選中行

         ctrl+v          塊可視化(可以選擇字元)

         /          尋找(n下一個N上一個)

         ?單詞  尋找(N下一個n上一個)

2、末行模式(:)

         :w      儲存

         :q      退出

         :set nu  顯示行號

         :no nu  取消行號

         :50,59s/舊內容/新內容/g        50-59行的所有舊內容替換成新內容(不要g則替換每行第一個出現的舊內容)

         :%s/舊內容/新內容/g                 全文替換

         :vsp 檔案名稱                                垂直分屏

         :sp 檔案名稱                                  水平分屏

                                   :q                       退出

                                   :r                        將另外一個檔案匯入到游標所在位置

                                   ctrl+ww            跳到另一屏

 

 

 

gcc –E(預先處理)/-S(彙編)/-c(串連)/-v(顯示編譯過程) 檔案名稱 -o(重新命名)

gcc內部調用cc1編譯器 as彙編器 collect2連結器

strip 可執行檔名       對代碼進行瘦身

ldd 可執行檔              可查看程式用了哪些動態庫

 

 

 

 

gdb調試器(gcc 檔案名稱 –o 執行檔案名稱 -g)

list(l) 行號                          顯示原始碼

break(b) 行號/函數名     加斷點

info break(i b)   查看斷點資訊

run(r)                   執行

next(n)                逐步執行,不進入函數

print(p)               列印變數

whatis 變數名       查看變數類型

delete(d) 斷點編號          刪除斷點

b 17 if i==9               在條件等於9的時候設定斷點

step(s)                 進入函數調用

finish                         退出函數

breaktrace(bt)   查看函數調用棧

 

 

 

 

處理段錯誤——會產生一個core檔案,裡面會顯示在第幾行出現錯誤:

  1. gcc –g
  2. ulimit -c unlimited
  3. ./a.out
  4. gdb ./a.out core.****

 

 

makefile

目標:依賴檔案

Tab命令

第二種方式

$^    代表所有的依賴檔案   [email protected]   代表目標檔案

第三種方式

%.o:%.c

         gcc –c $^ -o [email protected]

 

可以在makefile裡寫clean功能,使用make clean

.PHONY:clean                           使clean保持最新

OBJS=main.o  \

plane.o

clean:

         rm –rf $(OBJS)                  這裡的objs是前面定義變數

 

 

 

1、在scanf中”%*c”是讀取並丟棄掉該字元,用於讀取丟棄分行符號

或”(空格)%c”          這個操作可以忽略字元之前的空白符

或“%[^;%*c]” 這個操作可以設定想讀取的字元,屬於輸入格式化(不擷取分號,例如資料庫)

2、記憶體緩衝區在以下5種情況時才會將緩衝區中內容輸出

         \n

         scanf

         exit

         核心緩衝區滿

         fflush(stdout)

3、printf                           輸出到螢幕

         fprintf                        輸出到檔案

         sprint                         輸出到數組

 

 

 

 

linux讀elf檔案

readelf –h(頭)/-a(全部)

看elf檔案的彙編代碼

objdump -dS

vim文字編輯器的基本操作及gcc、gdb的基本使用方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.