man -k
:
man 3 printf
cheat
:
cheat xxx
給出命令xxx的簡短解釋,而且列出xxx的相關使用範例給用戶參考grep
:
grep -nr xxx /usr/include
查找xxx的值,例如查找宏 STDOUT_FILENO 的值的命令是grep -nr STDOUT_FILENO /usr/include
i, I, o, O, a, A, r, R
會進入相應編輯模式,此時才能夠進行編輯。按下Esc
便可退出編輯模式: / ?
進入命令行模式,完成退出,保存等操做vim 1.c 2.c
gcc hello.c -o hello
詳細的來講上述編譯過程是分爲四個階段進行的,即預處理(也稱預編譯,Preprocessing)、編譯(Compilation)、彙編 (Assembly)和鏈接(Linking),(生成文件後綴分別是iso)。java
預處理:gcc –E helloworld.c –o helloworld.i
linux
編譯:gcc –S helloworld.i –o helloworld.s
正則表達式
彙編:gcc –c helloworld.s –o helloworld.o
shell
連接:gcc helloworld.o –o helloworld
vim
多模塊編譯:例如gcc hello1.c hello2.c -o hello
數組
gcc -Werror hello.c -o hello
l:查看文件安全
b:設置斷點函數
函數斷點:b main:在main函數下設置斷點工具
行斷點:b num:在第num行下設置斷點性能
臨時斷點:tb num:在第num行下設置臨時斷點(斷點使用一次以後消失)
條件斷點:b num if i=8:
r:run,運行函數,r num從第num行開始運行
p:print,輸出查看變量值,p i輸出i的值
n & s:next & step,單步執行,s會進入函數,n將會一步執行完函數
call
與ret
兩條指令,在實際計算機運行中即在call
以後將返回地址壓入棧中,並跳轉到調用程序的起始地址,ret
即彈出地址,程序回到本來進程代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 0/0 | 1/1 | 20/20 | 學習經常使用linux命令 |
第二週 | 100/100 | 1/2 | 20/40 | 學習vim,gdb等用法 |
第三週 | 100/200 | 1/3 | 15/55 | |
第四周 | 0/300 | 0/3 | 10/65 | |
第五週 | 100/400 | 1/4 | 15/80 | 重溫了彙編相關知識 |
第六週 | 0/400 | 1/5 | 15/95 | 學習了Y86 |
第七週 | 100/500 | 1/6 | 15/110 | 學習了存儲器相關知識 |
第八週 | 0/500 | 2/8 | 20/130 | 複習 |