vim文字編輯器:
dd 刪除游標所在行 ndd 刪除游標所在向下n行
d1g刪除游標所在到第一行的資訊
dg刪除游標所在到末行的所有內容
yy 複製游標所在行
nyy複製游標所在向下n行
p;把複製內容貼上到游標的下一行
u撤銷(儲存後,不可撤銷)
查詢和替換
底行模式下:/字串 /是往後找,?是往前找
:%s/未替換/替換後 %s/hello/hello
:n1,n2 s/word1/word2 部分替換
:%s/word1/word2 全文換 或者n1置0,n2為$
n1,n2 w[filename] 只儲存n1到n2行
w[filename] 全文儲存
r[filename]把指定檔案的內容插入到當前檔案下
在底行模式下執行linux命令:加! 例如:!ls
區塊選擇:v v ctrl+v
n/n 切換 files 顯示所有開啟的檔名
多視窗操作;
底行模式下: sp 檔名 ctrl+ ww/wk/wj移動游標視窗
main函式最多有3個引數
預處理有三種:檔案包行命令(include)
:巨集定義(define)
:條件編譯
程式的編譯過程:
gcc的用法:
預處理:gcc -e hello.c -o/-s hello.i
編譯: gcc -s -o hello.s hello.c 彙編
:gcc -c hello.i -o hello.o 或者 gcc -c hello.c -o hell.o
鏈結 : gcc -o hello hell.c
gcc -s hell.i
gcc hello.c -o hell.o 或者gcc -o hello.o hello.c
優化:-o(大寫的o)
優化有四個級別,在o後面加0,1,2,3;
優化時如果在變數前加上volatile,說明此變數不可優化
靜態庫的建立:1,gcc -c 原始檔.c
2,ar rcs 靜態庫名(lib__.a) 目標檔案1,目標檔案2
靜態庫的使用:gcc -o file file.c -l. -lname(.是指當前檔案下)
ar -t lib__.a 檢視靜態庫中的檔名
ar -d lib__.a 檔名.o 刪除庫中檔案
ar -dv lib__.a 檔名.o 刪除提醒
ar -xv lib__.a 檔名.o 提取檔案
動態庫的建立:gcc -shard -fpic -o lib__.so 原始檔.c
動態庫的使用:gcc 原始檔.c ./lib__.so -o 可執行檔名
靜態庫:占用空間,提高執行速率,更新不及時
動態庫:不占用空間,執行速率緩慢,更新及時
-wall -werror生成所有警告/錯誤資訊 -w 不生成警告資訊
工程管理器make(自動編譯管理器)
編寫規則:由make工具建立的目標體
: 要建立的目標體所依賴的檔案
; 建立每個目標體時需要執行的命令
乙個例子:
main: main.o add.o sub.o mul.o div.o
gcc -o main main.o add.o sub.o mul.o div.o
main.o:main.c
gcc -c main.c
add.o:add.c
gcc -c add.c
sub.o:sub.c
gcc -c sub.c
mul.o:mul.c
gcc -c mul.c
div.o:div.c
gcc -c div.c
.phony:clear 偽**的宣告
clean:
rm -f hello
偽**的使用:make clean
增加依賴:
使用變數
(自定義變數) obj = main.o func1.o func2.o func3.o
hello: $(obj)
gcc $(obj) -o hell
makefile中默的系統變數:$^ 代表所有的依賴檔案
$a 代表目標
$< 代表第乙個依賴檔案
hello :main.o func1.o func2.o
gcc main.o func1.o fun2.o -o hello
可寫成:hello ;main.o func1.o func2.o
gcc $^ -o $a
@:取消回顯 @gcc -c hell.c make之後不顯示命令
makefile中#字元後的內容為注釋
開發工具使用記錄
反編譯工具 ilspy 開發工具 visual studio 開發幫助 sql prompt resharper 文字工具 sublime 截圖工具 snipaste 介面測試工具 apache jmeter 網路抓包工具 fiddler 瀏覽器cookies修改工具 editthiscookie ...
Android開發工具 adb的使用
adb android debug bridge 是android提供的乙個通用的除錯工具,借助這個工具,我們可以管理裝置或手機模擬器的狀態。還可以進行以下的操作 1 快速更新裝置或手機模擬器中的 如應用或android系統公升級 2 在裝置上執行shell命令 3 管理裝置或手機模擬器上的預定埠 ...
開發工具 日誌Timber的使用
android 原生的日誌log用著很多的缺點 因此需要找乙個更好的log庫。以下兩個都是非常好的。簡單 漂亮 強大的android logger,github上3000 star 基於android原生log的logger,小巧易擴充套件。本文介紹timber。1 首先build.gradle加入...