Linux C程式設計 1 vim及gcc命令

2022-05-03 21:06:12 字數 2414 閱讀 2824

1. 輸入以下命令可以啟動vi:

(1) vi:不指定檔名,在儲存檔案時需要指定檔名。

(2) vi 檔名:該檔案既可以是已存在的,也可以是新建的。

(3) vi +n 檔名:進入vi,游標停在第n行開始處。

(4) vi + 檔名:進入vi,游標停在檔案最後一行開始處。

(4) vi +/字串 檔名:進入vi,游標停在第乙個字串處所在行。

2. vi中儲存檔案並退出:

(1) w 檔名:將當前檔案的內容儲存由"檔名"指定的新檔案中,若該檔案已存在則產生錯誤。

(2) w! 檔名:將當前檔案的內容儲存由"檔名"指定的新檔案中,若該檔案已存在則覆蓋原檔案。

3. 游標的移動:

(1) nw:右移n個字,n為數字,游標處於第n個字的字首。

(3) nb:左移n個字,n為數字,游標處於第n個字的字首。

(5) (:移到本句的句首,如果已經處於本句的句首,則移動到前一句的句首。

(7) :刪除從當前字元開始到短尾的所有字元。

5. 文字查詢和替換:

(1) ?string:查詢字串

(2) :s/old/new:在當前行用new替換old,只替換一次。

(3) :s/old/new/g:在當前行用new替換old

(4) :1,10s/old/new/g:在1~10行用new替換old

(5) :1,$s/old/new/g:整個檔案中用new替換old

6. 文字的複製與貼上

(1) yw:將游標所在位置到字尾的字元複製到緩衝區中

(2) nyw:將游標所在位置開始的n個字複製到緩衝區中

(3) yb:從游標開始向左複製乙個字

(4) nyb:從游標開始向左複製n個字

(5) y0:複製從游標前乙個字元到行首的所有字元

(6) y$:複製從游標開始到行末的所有字元

(7) np:在游標所在位置的後面插入複製的文字,共複製n次

(8) np:在游標所在位置的前面插入複製的文字,共複製n次。

7. linux下的變數的命名規則:

(1) 變數名必須有一定的意義,並且意義準確;

(2) 不建議大小寫混用;

(3) 在失去意義的情況下,盡量使用較短的變數名。

(4) 不採用匈牙利命名法表示變數的型別。

(5) 函式名應該以動詞開頭,因為函式是一組具有特定功能的語句塊;

(6) 盡量避免使用全域性變數

8. gcc編譯程式時可分為4個階段:

(1) 預處理(pre-processing)

預處理階段,輸入的是c語言原始檔,通常為*.c,主要處理#ifdef、#include和#define預處理命令。該階段一般會生成乙個中間檔案*.i。其命令為:

gcc -e test.c -o test.i

(2) 編譯(compling)

在編譯階段,輸入的是中間檔案*.i,編譯後生成組合語言檔案*.s。其命令為:

gcc -s test.i -o test.s

(3) 彙編(assembling)

在彙編階段,將輸入的彙編檔案*.s轉換為二進位制機器碼*.o,其命令為:

gcc -c test.s -o test.o

(4) 鏈結(linking)

gcc test.o -o test

最終生成可執行檔案test。

可簡化為:gcc test.c -o test

9. gcc編譯多個原始檔,其命令為:

gcc -o test testmain.c other1.c other2.c

該命令將同時編譯3個原始檔,最後生成乙個可執行程式test。

注意:在生成可執行程式時,乙個程式無論是只有乙個原始檔還是多個原始檔,在所有被編譯和連線的原始檔中必須有且只有乙個main函式。

10. gcc的選項:

(1) -c : 只編譯,不鏈結成可執行檔案,編譯器只是由輸入.c等為字尾的源**檔案生成.o為字尾的目標檔案,通常用於編譯不包含主程式的子程式檔案。

(2) -g:產生偵錯程式gdb所必需的符號資訊,要對源**除錯,必須在編譯程式時加入該選項。

(5) -wall:輸出所有警告資訊

(6) -w:關閉所有警告,建議不使用

(7) -idirname:將名為dirname的目錄加入到程式頭檔案目錄列表中

11. gcc的報錯型別及對策

(1) c語法錯誤

(2) 標頭檔案或庫檔案錯誤

(3) 未定義的符號

12. strcpy是不安全的,存在安全漏洞,因此一般應該使用strncpy,strcat與strncat同樣如此。

13. strstr是從字串s1中尋找s2第一次出現的位置,返回指向第一次出現s2位置的指標,如果沒有找到,則返回null。strchr查詢字串s中首次出現的字元c的位置,返回首次出現字元c指標,如果s中不存在c則返回null。

vim學習筆記 1 vim操作

僅記錄一些自己最常用的vim操作,隨時更新 文字移動和操作相互配合使用,比如d enter刪除到行末,dw刪除至下乙個單詞,2dd刪除接下來兩行 也可以和數字相互使用,比如y enter5,複製以下5行,1,20d enter刪除1 20行 可配置vim成滑鼠游標定位模式 vim中儲存退出 x和 w...

vim學習筆記 1 vim操作

僅記錄一些自己最經常使用的vim操作。隨時更新 文字移動和操作相互配合使用。比方d enter刪除到行末,dw刪除至下乙個單詞,2dd刪除接下來兩行 也能夠和數字相互使用,比方y enter5,複製下面5行,1,20d enter刪除1 20行 可配置vim成滑鼠游標定位模式 vim中儲存退出 x和...

Linux C 程式設計(vim)

一,編譯 compile 含義 用編譯器 compile 將源 生成二進位制目標檔案。在window下為.obj。在linux下為.o檔案。要求 編譯器要求,語法正確。編譯器只檢測程式語法和函式 變數是否被宣告,函式並不許要被定義。編譯語法 g c file.cpp 其中 c 為compile生成 ...