九色91_成人精品一区二区三区中文字幕_国产精品久久久久一区二区三区_欧美精品久久_国产精品99久久久久久久vr_www.国产视频

Hello! 歡迎來到小浪云!


【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具


avatar
小浪云 2025-04-17 23

一、代碼編輯工具vim

1、vim基本概念

vim編輯器主要有三種操作模式:命令模式、插入模式和底行模式。

  • 命令模式:在該模式下,所有的鍵盤輸入都被視為命令,用于控制光標移動、刪除字符、字或行等操作。按i鍵進入插入模式,按:鍵進入底行模式。
  • 插入模式:在此模式下,所有的鍵盤輸入都會被視為文本輸入。按esc鍵可以切換回命令模式。
  • 底行模式:用于文件的保存或退出、替換文本、查找字符串、顯示行號等操作。同樣,按esc鍵可以返回命令模式。

vim總共有12種模式,包括6種基本模式和6種附加模式。輸入help vim-modes可以查看所有模式。

【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具

2、vim操作

(1) 命令模式

進入vim時,默認處于命令模式。以下是一些常用命令:

命令 作用
gg 光標移動到文章開頭
G 光標移動到文章末尾
num+G 光標移動到第num行行首
$ 光標移動到當前行末尾
^ 光標移動到當前行開頭
w,b 光標按單詞移動,跨行
h,j,k,l 光標左移、下移、上移、右移
(num)yy 復(fù)制光標所在行或num行
(num)dd 剪切或刪除光標所在行或num行
(num)p 粘貼到光標所在行下方num次
u 撤銷上一步操作
ctrl+r 重做上一步撤銷的操作
~ 轉(zhuǎn)換光標所在字符的大小寫
(num)r 替換光標所在字符或之后的num個字符
R 進入替換模式,類似于第四種模式
(num)x 刪除光標所在字符或之后的num個字符

【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具

(2) 插入模式

進入插入模式后,可以直接編輯文本,輸入的字符會顯示在文本中。

【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具

(3) 底行模式

以下是底行模式的常用命令:

命令 作用
set nu 顯示文件每一行的行號
(num) 直接跳轉(zhuǎn)到第num行
/+字符 向前查找字符,按n繼續(xù)查找
?+字符 向后查找字符,按n繼續(xù)查找
w 保存文件
q 退出文件
q! 強制退出文件
wq 保存并退出文件
wq! 強制保存并退出文件

【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具

3、vim配置

未經(jīng)配置的vim不適合編寫代碼,因為它原本只是一個文本編輯器。配置vim可以優(yōu)化編程環(huán)境。文本文件建議使用nano編輯,而代碼則使用vim。

vim的配置文件是隱藏文件.vimrc。

【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具

推薦使用一鍵配置vim,避免手動配置的麻煩。在Linux下輸入以下命令并輸入root密碼即可完成配置,配置完成后重啟shell。

二、編譯工具–gcc/g++編譯器

1、程序翻譯過程

C程序的翻譯過程包括預(yù)處理、編譯、匯編和鏈接四個階段。

  • 預(yù)處理:進行宏替換,生成.i文件。
  • 編譯:檢查代碼規(guī)范性和語法錯誤,生成.s文件。
  • 匯編:生成機器可識別的代碼,生成.o文件。
  • 鏈接:鏈接庫文件生成可執(zhí)行程序。

【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具

從圖片中可以看出,test.c經(jīng)過預(yù)處理生成test.i,文件大小增加很多,這是因為宏替換和頭文件包含。編譯后文件變小,匯編生成二進制編碼后文件變大,最后鏈接庫生成可執(zhí)行文件。

庫分為動態(tài)庫和靜態(tài)庫。靜態(tài)庫在鏈接時將庫中的目標文件與程序自身的目標文件組合,生成獨立的可執(zhí)行文件,但文件較大。動態(tài)庫則在程序運行時動態(tài)鏈接,文件較小,但依賴外部庫文件。

靜態(tài)鏈接時使用-Static選項。

【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具

可以看出靜態(tài)鏈接的文件比動態(tài)鏈接的大100倍。默認的動態(tài)鏈接實際上是混合鏈接,既有動態(tài)部分也有靜態(tài)部分。

2、動態(tài)和靜態(tài)庫注意事項

  • 沒有靜態(tài)庫無法進行靜態(tài)鏈接。
  • 沒有動態(tài)庫但有靜態(tài)庫時,默認動態(tài)鏈接指令仍然可以鏈接靜態(tài)庫。
  • 默認的gcc test.c -o test指令是混合鏈接,加上-static選項則全部靜態(tài)鏈接。

3、gcc使用

選項1 作用
-E 只進行預(yù)處理
-S 編譯到匯編語言,不進行匯編和鏈接
-c 編譯到目標代碼
選項2 作用
-o 指定輸出文件

三、多人協(xié)作開發(fā)工具git

1、簡介

git是一個開源的分布式版本控制系統(tǒng),用于管理軟件開發(fā)過程中的代碼版本。git允許開發(fā)人員在本地克隆代碼倉庫,進行開發(fā)、提交、推送等操作,并與遠程倉庫同步。每個開發(fā)者都擁有完整的代碼倉庫副本,包括所有版本歷史和元數(shù)據(jù),使開發(fā)過程更加獨立和靈活。

與集中式版本控制系統(tǒng)不同,git沒有單一的中心服務(wù)器,每個開發(fā)者的本地機器上都有一個完整的版本庫。開發(fā)者可以在本地進行完整的開發(fā)流程,包括提交、暫存等操作,而無需依賴網(wǎng)絡(luò)連接到中心服務(wù)器。

git使用“快照”方式存儲版本信息,每次提交時為整個項目創(chuàng)建一個快照,記錄所有文件的狀態(tài)。git采用高效的壓縮算法數(shù)據(jù)結(jié)構(gòu)存儲這些快照,減少存儲空間占用,并能快速進行版本切換和合并。

git的分支創(chuàng)建和切換非常輕量級,開發(fā)者可以輕松創(chuàng)建多個分支,用于不同開發(fā)任務(wù),如功能開發(fā)、修復(fù)bug等。各個分支之間相互獨立,開發(fā)人員可以在不同分支上并行開發(fā),然后根據(jù)需要將分支合并到主分支或其他分支上。

主要用于團隊協(xié)作開發(fā)、代碼備份與恢復(fù)、開源項目管理。

2、git使用

大家對Github和gitee并不陌生,前者是全球最大的開源代碼托管平臺,后者是面向國內(nèi)開發(fā)者的代碼托管平臺。可以從中下載許多開源項目和學(xué)習資料,也可以開源項目供其他人查看。由于github訪問不穩(wěn)定,需要借助“技術(shù)”才能使用,這里展示Gitee的使用。

【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具

創(chuàng)建新倉庫時,下方的三個選項可以選擇或不選擇。如果倉庫是單一文件倉庫,建議勾選.gitignore,它會將指定后綴名的文件在推送時默認不推送。

【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具

readme文件是開源項目的說明書,必不可少。

通過git clone + 遠端倉庫鏈接將遠程倉庫克隆到本地。

【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具

創(chuàng)建并編輯文件后,將文件添加到暫存區(qū),然后提交到本地倉庫,最后推送到遠程倉庫,并在備注中說明文件內(nèi)容。

【Linux】Linux開發(fā)必備六大工具之代碼、編譯、多人協(xié)作開發(fā)工具

今日分享到此結(jié)束。

相關(guān)閱讀

主站蜘蛛池模板: 亚洲人在线 | 久久久久久国模大尺度人体 | 亚洲狠狠丁香婷婷综合久久久 | 国产91丝袜在线播放 | 精品久久精品 | 日韩福利在线观看 | 久久精品国产久精国产 | 精品网 | 激情欧美一区二区三区中文字幕 | 亚洲精品美女视频 | 日本一区二区三区免费观看 | 欧美福利一区 | 午夜小电影 | 亚洲视频免费观看 | 精品视频在线播放 | 日韩91在线 | 色婷婷综合久久久中文字幕 | 久久国产成人午夜av影院武则天 | 五月综合久久 | 欧美一区免费 | 亚洲视频在线观看 | 亚洲欧美成人影院 | 日日操操 | 无人区国产成人久久三区 | 久久国色 | 亚洲精品黄色 | 久久久久国产精品 | 亚洲精品国产第一综合99久久 | 国产精品欧美一区二区三区不卡 | 久久国产精品无码网站 | 欧美一区二区在线观看 | 国产成人一区 | 亚洲成人一区 | 色在线免费视频 | 国产免费一区二区三区网站免费 | www.youjizz.com日韩 | 国产精品久久久久久久久久久免费看 | 81精品国产乱码久久久久久 | 秋霞在线一区二区 | 亚洲播放| 日韩久久久一区二区 |