中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

廣州網(wǎng)站優(yōu)化哪家快洛陽市網(wǎng)站建設(shè)

廣州網(wǎng)站優(yōu)化哪家快,洛陽市網(wǎng)站建設(shè),html5是什么,東營今日新聞目錄 ---工具功能 1. vim 1.1 vim的模式 1.2 vim常見指令 2. gcc/g 2.1 預(yù)備知識(shí) 2.2 gcc的使用 3.make,Makefile make.Makefile的使用 4.yum --yum三板斧 5.git --git三板斧 --Linux下提交代碼到遠(yuǎn)程倉庫 6.gdb 6.1 gdb的常用指令 學(xué)習(xí)目標(biāo): 1.知道…

目錄

---工具功能

1. vim

1.1 vim的模式

1.2 vim常見指令

2. gcc/g++

2.1 預(yù)備知識(shí)

2.2 gcc的使用

3.make,Makefile

make.Makefile的使用

4.yum

--yum三板斧

5.git

--git三板斧

--Linux下提交代碼到遠(yuǎn)程倉庫

6.gdb

6.1 gdb的常用指令


學(xué)習(xí)目標(biāo):

1.知道這些工具的功能

2.掌握這些工具的基本使用

---工具功能

編寫代碼???????? -- vim

編譯代碼 ????????-- gcc ,g++

調(diào)試代碼 ????????-- gdb

代碼管理? ? ? ? ?-- git

運(yùn)行/自動(dòng)化構(gòu)建程序 --make/Makefile

1. vim

1.1 vim的模式

1.命令行模式? 2.編輯模式? ?3.低行模式

1.2 vim常見指令

--默認(rèn)打開

1.命令模式(默認(rèn)打開的模式)

--輸出 i 即可寫代碼 (編輯/插入模式)

--回到命令模式:按Esc

--退出:在命令模式當(dāng)中輸出shift + :

-w 保存 -q 退出 -wq 保存并退出 -!強(qiáng)制

--命令行模式指令

--編輯

  • yy:將當(dāng)前光標(biāo)所在的行,復(fù)制? ? ? ? ? ? ? ? ? nyy(n表示具體的數(shù)字)
  • p:將復(fù)制行進(jìn)行粘貼? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? np
  • dd:將當(dāng)前光標(biāo)所在的行,剪切(刪除)? ?ndd(刪除/剪切n行)
  • u:撤銷歷史操作
  • ctrl + r :撤銷u操作
  • shift + ~ :大小寫切換
  • shift + r:替換(進(jìn)入替換模式)
  • r:替換光標(biāo)所在的字符,支持nr
  • x or X(shift + x):刪除光標(biāo)所在的字符,包括之前或者之后 支持nx

--光標(biāo)移動(dòng)

  • gg:光標(biāo)定位到文件的最開始
  • shift + g :光標(biāo)定位到文件的結(jié)尾
  • n + shift + g :光標(biāo)定位到文件的任意行
  • shift + 6(^):光標(biāo)定位到當(dāng)前行的最開始(上)
  • shift + 4 ($):光標(biāo)定位到當(dāng)前行的最結(jié)尾(下)
  • w,b:以單詞為單位進(jìn)行光標(biāo)的前后移動(dòng)(左右)
  • h左,j下,k上,l 右

--底行模式

  • set nu/nonu :調(diào)出行號(hào),或者取消行號(hào)
  • vs 文件名 :分批操作
  • w:寫入,w!(強(qiáng)制)
  • q:退出, q!(強(qiáng)制)
  • ctrl + ww :光標(biāo)跳轉(zhuǎn)
  • !? +? cmd:不退出vim執(zhí)行對(duì)應(yīng)的指令(執(zhí)行命令,編譯,運(yùn)行,查看man手冊(cè))

示例:

--set nu/nonu :調(diào)出行號(hào),或者取消行號(hào)

set nu/nonu   顯示/取消行號(hào)

--vs 文件名 :分批操作

vs  +  文件名     分批操作

--ctrl + ww :光標(biāo)跳轉(zhuǎn)

ctrl + ww    //光標(biāo)跳轉(zhuǎn)

-- !? +? cmd:不退出vim執(zhí)行對(duì)應(yīng)的指令

! man 3 printf

2. gcc/g++

2.1 預(yù)備知識(shí)

gcc是一個(gè)專門編譯鏈接C語言的編譯器 g++(C++)

一、程序翻譯過程:

文本的C -->計(jì)算機(jī)二進(jìn)制

  • 1.預(yù)處理:(a.去注釋 b.宏替換 c.頭文件展開 d.條件編譯)
  • 2.編譯(C ->匯編)
  • 3.匯編(匯編 -> 可重定向二進(jìn)制目標(biāo)文件)
  • 4.鏈接(鏈接 -> 多個(gè).o ,.. ,.obj ->合并成一個(gè)可執(zhí)行).exe

(gcc/g++ 也要遵守)


二、動(dòng)靜態(tài)庫 --- (感性的認(rèn)識(shí))

  • 動(dòng)態(tài)鏈接:將庫中我要的方法地址,填入到我們的可執(zhí)行程序中,建立關(guān)聯(lián)(節(jié)省資源)
  • 靜態(tài)鏈接:將庫中方法的實(shí)現(xiàn),拷貝到我們的可執(zhí)行程序中

一般鏈接的過程,兩種方式:

a.動(dòng)態(tài)鏈接???????? - ????????需要?jiǎng)討B(tài)庫

b.靜態(tài)鏈接 ????????- ????????需要靜態(tài)庫

Linux: .so(動(dòng)態(tài)庫) .a(靜態(tài)庫)

windows: .dll(動(dòng)態(tài)庫) .lib(靜態(tài)庫)

注:gcc和g++默認(rèn)形成的可執(zhí)行程序是動(dòng)態(tài)鏈接的

2.2 gcc的使用

gcc 文件名 -o 新生成的文件名

其它選項(xiàng):

  • gcc -E mytest.c -o mytest.i (預(yù)處理)開始翻譯直到預(yù)處理完成
  • gcc -S mytest.i -o mytest.s (編譯)開始翻譯直到編譯完成
  • gcc -c mytest.s -o mytest.o (匯編)開始翻譯直到匯編完成
  • gcc mytest.o -o mytest.o (鏈接)??(mytest.o 可重定向目標(biāo)文件)

示例:

gcc test2.c -o test2

3.make,Makefile

make.Makefile的使用

1.make && makefile

make是一個(gè)命令

makefile是一個(gè)文件

--使用

touch Makefile ????????建立Makefile文件

vim Makefile? ? ? ? ? ? ?編寫Makefile(a.依賴關(guān)系 b.依賴方法)

mytest:test.c (依賴關(guān)系)gcc test.c -o mytest (依賴方法).PHONY:clean(偽目標(biāo))
clean:rm -f mytest       

調(diào)用:

make (構(gòu)建)
make clean (清理)

makefile指令是從上到下掃描的

注:clean 總是被執(zhí)行的:總是會(huì)根據(jù)依賴放關(guān)系,執(zhí)行依賴方法

--在上面的例子里,可以重復(fù)執(zhí)行clean,但不能重復(fù)執(zhí)行mytest(沒被.PHONY修飾)

? ? ? ? --你在Makefile中定義一個(gè)目標(biāo),與當(dāng)前目錄中存在同名的文件時(shí),Make會(huì)默認(rèn)認(rèn)為這個(gè)目標(biāo)是一個(gè)文件,并嘗試根據(jù)文件的時(shí)間戳來判斷是否需要重新構(gòu)建。

提問:makefile是如何知道我的文件是最新的?

--根據(jù)最新的修改時(shí)間

示例:

1.創(chuàng)建Makefile

touch Makefile

2.編寫Makefile

vim Makefile

3.調(diào)用:根據(jù)寫好的Makefile自動(dòng)生成可執(zhí)行文件,并進(jìn)行清理:

make     //構(gòu)建

make clean  //清理

--可以重復(fù)執(zhí)行make clean(其被.PHONY修飾)

通過使用.PHONY,告訴Make,這個(gè)目標(biāo)是偽目標(biāo),不要期望生成一個(gè)同名文件,只需執(zhí)行其中定義的命令。

4.yum

--yum三板斧

1.yum list 列出能下的軟件

--yum list | grep sl (將所有包含sl文件的名稱顯示出來)

2.yum install

-- sudo yum install -y ????????????????安裝軟件(-y表示默認(rèn)認(rèn)可,不需要再問用戶)

3. yum. remove 你的軟件 ????????移除軟件(一般要加sudo)

5.git

--說明

git用于管理代碼,git的精華:多人協(xié)作開發(fā),(學(xué)習(xí)階段,大多數(shù)自己寫代碼,暫不涉及

下面說明怎么使用git提交代碼到自己的遠(yuǎn)程倉庫

--git三板斧

正常情況:

  • git add 你的文件 #添加我們的代碼到本地倉庫
  • git commit -m "這里必須寫提交日志"
  • git push

其它情況:

  • 1.git log #查看提交記錄
  • 2.git pull #同步倉庫
  • 3.git rm 文件 #刪除本地倉庫的文件

刪除本地倉庫文件后,再git commit -m " 日志" git push

遠(yuǎn)程倉庫里的文件會(huì)被刪除

--.gitignore # 不想提交某些后綴的文件同步到遠(yuǎn)端的git倉庫,就可以添加到.gitignore

修改本地倉庫文件后,再add,commit,push就能將遠(yuǎn)程倉庫的文件修改

--若出現(xiàn)提交失敗,可能是倉庫未同步,git pull再提交

--Linux下提交代碼到遠(yuǎn)程倉庫

配置環(huán)境:

第一次提交需要輸入下面的指令:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

這兩個(gè)自行輸入即可(這個(gè)是用來說明你是誰的,git支持多人協(xié)作,查看日志的時(shí)候可以看到是誰提交的代碼)

在克隆倉庫/提交代碼的時(shí)候,應(yīng)該會(huì)讓你輸入你gitee的賬號(hào)名和密碼(根據(jù)它的提升輸入即可)

1.在Linux環(huán)境下輸入:git clone 倉庫網(wǎng)址

這里可以看到就把倉庫克隆過來了

git倉庫就是.git 文件

2.使用三板斧提交寫好的文件就行:

git add test.cgit commit -m "提交測試"git push

這里push后要求輸入gitee的用戶名和密碼

然后就把寫好的文件提交到遠(yuǎn)程倉庫了

6.gdb

6.1 gdb的常用指令

gdb 文件名 (調(diào)試)

  • ?l 0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??--從第0行開始顯示代碼
  • r? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --開始調(diào)試,如果沒有設(shè)置斷點(diǎn),就直接運(yùn)行結(jié)束
  • b 行數(shù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ?--打斷點(diǎn) (會(huì)形成斷點(diǎn)編號(hào),可用info查看)
  • info b? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?--查看斷點(diǎn)
  • d 斷點(diǎn)編號(hào)? ? ? ? ? ? ? ? ? ? ? --刪斷點(diǎn)
  • disable 斷點(diǎn)編號(hào)? ? ? ? ? ? --使能(打開)
  • enable 斷點(diǎn)編號(hào)? ? ? ? ? ? ?-- 關(guān)閉
  • p 變量名? ? ? ? ? ? ? ? ? ? ? ? ? --打印變量內(nèi)容:
  • n? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --逐過程 (相當(dāng)于vs中的F10)
  • s? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ?--進(jìn)入函數(shù)(相當(dāng)于vs中的F11)
  • bt? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?--查看當(dāng)前調(diào)用的堆棧
  • finish? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --函數(shù)跑完就停下
  • display 名稱? ? ? ? ? ? ? ? ? ? ?--設(shè)置常顯示
  • undisplay 編號(hào)? ? ? ? ? ? ? ? ?--取消常顯示
  • until 行數(shù) (不建議)? ? ? --跳到指定行數(shù)
  • c? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --運(yùn)行到下一個(gè)斷點(diǎn)出就停下來
  • quit? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --退出

補(bǔ)充:

--gdb會(huì)記錄最近一條命令,如果命令無變化,可以直接回車

修改特定變量:set var 變量 = 數(shù)值(vs中監(jiān)視窗口,可以給變量賦值查看)

示例:

因?yàn)間cc,g++默認(rèn)形成的可執(zhí)行程序式release的,所以無法直接調(diào)試

解決:使用gcc編譯的時(shí)候,添加-g 選項(xiàng),將其改為debug方式發(fā)布

我寫了一個(gè)打印1-100的和的文件,現(xiàn)在對(duì)其調(diào)試

先編譯,生成debug版本的運(yùn)行文件

 gcc  test.c  -o   test -g   //生成Debug版gdb  test

-- l? 0 (從第0行開始顯示代碼)

--打斷點(diǎn): b 行數(shù)

--查看斷點(diǎn) info b

--刪斷點(diǎn) d 斷點(diǎn)編號(hào)

--打印變量內(nèi)容: p 變量名

--逐過程 n (相當(dāng)于vs中的F10)

--進(jìn)入函數(shù) s (相當(dāng)于vs中的F11)

--查看當(dāng)前調(diào)用的堆棧 bt

--函數(shù)跑完就停下 finish

--設(shè)置常顯示 display 名稱

--取消常顯示 undisplay 編號(hào)

--運(yùn)行到下一個(gè)斷點(diǎn)出就停下來 c

這里我打了兩個(gè)斷點(diǎn):(17,19行)

使用c后直接跳轉(zhuǎn)到下一個(gè)斷點(diǎn)19

補(bǔ)充:

gcc和g++默認(rèn)形成的可執(zhí)行程序是動(dòng)態(tài)鏈接的

gcc,g++默認(rèn)形成的可執(zhí)行程序式release的,所以無法直接調(diào)試

http://www.risenshineclean.com/news/65187.html

相關(guān)文章:

  • 做綠色軟件的網(wǎng)站知乎百度關(guān)鍵詞推廣費(fèi)用
  • 網(wǎng)站獨(dú)立ip多代表什么競價(jià)推廣網(wǎng)絡(luò)推廣運(yùn)營
  • 做網(wǎng)站定金交多少合適合肥網(wǎng)站推廣優(yōu)化公司
  • 上行10m企業(yè)光纖做網(wǎng)站環(huán)球資源外貿(mào)平臺(tái)免費(fèi)
  • 上海公司注冊(cè)查詢seo視頻教程
  • 大連做網(wǎng)站需要多少錢競價(jià)托管選擇微競價(jià)
  • 南寧外包seo服務(wù)福州百度seo排名
  • 培訓(xùn)機(jī)構(gòu)招生方案win優(yōu)化大師有用嗎
  • 深圳做app網(wǎng)站制作湘潭網(wǎng)站seo磐石網(wǎng)絡(luò)
  • 做裝修公司網(wǎng)站百度應(yīng)用商店下載安裝
  • 啟源網(wǎng)站建設(shè)seo計(jì)費(fèi)系統(tǒng)開發(fā)
  • 做網(wǎng)站注冊(cè)營業(yè)執(zhí)照蘭州seo培訓(xùn)
  • 響應(yīng)式網(wǎng)站好不好引流推廣方法
  • 夏縣網(wǎng)站建設(shè)指數(shù)運(yùn)算法則
  • 做葡萄酒的網(wǎng)站日本疫情最新數(shù)據(jù)
  • 做網(wǎng)站避免上當(dāng)簡單網(wǎng)頁設(shè)計(jì)模板html
  • 東莞公司網(wǎng)站價(jià)格競價(jià)托管服務(wù)多少錢
  • 丹東網(wǎng)站建設(shè)磁力庫
  • 西安做網(wǎng)站選哪家指數(shù)型基金是什么意思
  • firework做網(wǎng)站教程seo課程多少錢
  • 蘭州網(wǎng)站建設(shè)哪家專業(yè)百度網(wǎng)盤app下載安裝
  • 網(wǎng)站推廣服務(wù)費(fèi)會(huì)計(jì)分錄怎么做專業(yè)軟文發(fā)布平臺(tái)
  • 360網(wǎng)站備案查詢熱狗網(wǎng)站關(guān)鍵詞優(yōu)化
  • 網(wǎng)站備案費(fèi)用seo推廣軟件哪個(gè)好
  • 做企業(yè)網(wǎng)站收費(fèi)多少怎么做產(chǎn)品推廣和宣傳
  • 企業(yè)服務(wù)局搜索引擎優(yōu)化內(nèi)容包括哪些方面
  • 布吉網(wǎng)站設(shè)計(jì)快速優(yōu)化網(wǎng)站排名軟件
  • 移動(dòng)互聯(lián)網(wǎng)應(yīng)用程序開發(fā)影響seo排名的因素
  • 網(wǎng)站界面設(shè)計(jì)分析熱搜關(guān)鍵詞
  • wordpress批量替換url臨沂seo