makefile規則編寫&C語言字串拷貝&vim介紹

來源:互聯網
上載者:User

標籤:驚嘆號   模式   memcpy   ext   目錄   str   null   換行   編輯器   

makefile規則:
[email protected]:目標檔案
$^:所有的依賴檔案
$<:第一個依賴檔案
-c:輸出目標代碼,不輸出可執行檔
-g:編譯器編譯的時候提供以後對程式調試的資訊
target:rules
    gcc -o [email protected] $^
install:
    cp target /usr/local/bin
clean:
    rm target
    
lib庫尋找方法:
nm -o /lib/*.so | grep "函數名字"
nm -o /lib/*.so | grep “sin”
輸出libm-2.1.2.so    sin函數需要libm庫編譯
gcc -o [email protected] $^ -lm ->指定lib庫為libm
strings -f /lib/*.so | grep “sin”  尋找lib庫

C函數字串拷貝詳解:
memset(*s,int c,int length):初始化數組,指標,結構體,鏈表.  第二個參數int c指定ASCII值
void *memset(void *s,int c, size_t n);

memcpy用來做記憶體拷貝,拷貝任何資料類型的對象,可以指定拷貝的資料長度
extern void *memcpy(void *dest, void *src, unsigned int count);

strcpy就只能拷貝字串了,它遇到‘\0‘就結束拷貝
extern char *strcpy(char *dest,char *src);


man協助命令:
1.man “命令” ->詳細命令介紹
2.man 2 write ->系統調用函數
3.man 3 “函數名” ->C庫函數
    

 

vim編輯器功能介紹:
k:游標移動上一行
j:游標移動下一行
h:左移動一個字元
l: 右移動一個字元
0或|:游標定位在一行的開頭
$:游標移動在一行的末尾
w:定位下一個單詞
b:定位上一個單詞
(:定位一句話的開頭
):定位一句話的結尾
{或[[:移動段落的開頭
}或]]:移動段落的結尾
n|:移動到n列
1G:移動到檔案第一行
G:移動到檔案最後一行
nG或:n --->移動到檔案第n行
H:移動到螢幕頂部
nH:移動到距離螢幕頂部n行的位置
M:移動到螢幕中間
L:移動到螢幕底部
nL:處理螢幕底部n行的位置
:x ->移動到x行

/向下尋找
?向上尋找

:vsp  vi編輯器開啟多個螢幕顯示
:sp


x ->刪除當前游標下的字元
X ->刪除游標前面的字元
dw     ->刪除當前游標到單詞結尾的字元
d^ ->刪除當前游標到行首的字元
d$或D ->刪除當前游標到行尾的字元
dd ->刪除整行

yy ->複製

p ->粘貼到下一行
P ->粘貼到上一行

J ->當前行和下一行串連為一行
<< -->當前行左移一個單位
>> -->當前行右移一個單位  縮排
~ -->改變當前字元的大小寫
^G:顯示當前檔案名稱和狀態
U:撤銷對當前行做的修改
u:撤銷操作
:f ->以百分比符號的形式顯示當前游標在檔案的位置,檔案名稱 檔案總行數
:f filename  ->重新命名
:w filename  ->儲存修改到
:e filename  ->開啟另一個檔案
:cd dir  -->改變當前工作目錄
:e # -->在兩個開啟的檔案之間切換
:n  --->vim編輯器開啟多個檔案,:n 切換到下一個檔案
:P  --->切換到上一個檔案
:N    --->切換到上一個檔案
:r file  ->讀取檔案在當前行後插入
:nr file ->讀取檔案在第n行後邊插入


模式比對
^ 開頭
. 匹配一個字元
* 匹配零個或多個字元
$ 匹配一行的結尾
[] 匹配一組字元

:set ai ->設定自動縮排
:set noai ->取消自動縮排
:set nu ->顯示行號
:set sw=4  -> 設定縮排的空格數
:set ws "string" 迴圈搜尋字串
:set wm=2  設定距離邊際2個字元自動換行
:set ro 設定檔案類型為唯讀
:set term:輸出終端類型
:set bf:忽略輸入的控制字元 (斷行符號 退格)

運行命令
:!ls
驚嘆號後面跟命令

 


shell 字串空串的判斷
1.-z參數判斷空串
if [ -z “$string” ]
then
    echo “current $string for NULL”
fi

2.x判斷空串
if [ "$string"x = x ]
then
    echo "NULL"
else
    echo "NOT MULL"
fi

3.length=`echo $string | wc -L`
if [ $length -eq 0 ]
then
    echo "NULL"
fi
計算字串的長度

4.if [ "$string" = "" ]
then
    echo NULL
fi

makefile規則編寫&C語言字串拷貝&vim介紹

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.