設定行號(vi命令模式下使用)
set nonu :關閉行號
set nu :開啟行號
sp hello.c 在乙個.c檔案中呼叫另乙個檔案
ctrl ww 切換游標的所在的位置
查詢/加查詢的內容 也可以進入底行模式輸入字串查詢n查詢下乙個,shift n查詢上乙個
%s/要查詢的字串/要替換的字串/g g:代表所有
vim 的配置
/s/etc/vimrc vim 有關的**都在這個資料夾裡面,要配置則在這裡面修改,這裡的**的注釋用的是「,和c語言上的有些不同
gcc的使用
預處理:gcc -e hello.c -o hello.i(文字檔案)
編譯 :gcc -s hello.i -o hello.s(彙編**)
彙編 :gcc -c hello.s -o hello.o
鏈結 :gcc 所有的.o檔案 hello
gcc -i 指定標頭檔案的路徑,在同乙個目錄中則不用新增
比如在「/root/workplace/gcc」下有兩個檔案:
hello1.c:
#include
int main()
my.h:
#include
gcc -static 靜態鏈結
就可在gcc命令列中加入「-i」選項:
#gcc hello1.c –i /root/workplace/gcc/
-o hello1
工程管理器:$不明白是什麼意思
編寫makefile 檔案
target=helo
object=hello.o print.o
( ta
rget
):
(target):
(targe
t):shell程式設計
shell程式設計的檔案一般字尾為.sh
例如:#! /bin/bash
echo 「想要輸出在螢幕上的字串」
echo 「字串」 >檔名.txt :把字串放在這個檔案裡面,沒有則先建立
注意點:echo 類似與輸出乙個字串,>:轉向輸入符號,第二次用則之前的內容會被覆蓋 >> 這個符號不會被覆蓋
例如:cat 檔案1路徑 >>檔案2 把檔案1裡面的東西放在檔案二中
${} 引用
$數字 第幾個引數 如$1則是第乙個引數(類似於形參)
shell寫迴圈
vim test.sh
#!/bin/bash
for((i=0;i<5;i++))
doecho 「字串」
done
for i in 111 222 333 444
doecho $i
done
for i in $1 $2 $3 $4
domkdir $1
cd $i
echo > $1 「**」
done
if [$2 -gt 0 ]; then
echo 「…」
elif [ $2 -lt 0 ]; then
echo
遇到的問題
在呼叫數學庫時,顯示函式未定義
解決方法:在gcc編譯的時候加上-lm
-lm是連線數學庫;
-lm命令是使編譯的時候,鏈結數學庫, -lptread 鏈結執行緒庫,可以使自己編譯的庫 ;
g++編譯程式成為.o目標函式,然後需要和庫函式連線到一起;
gcc 在編譯時就可以將其替換為對應的值(gcc 優化的一部分),從而不需要鏈結 sqrt 所在的數學庫 libm;而像 sqrt(n); 這種呼叫,一般無法做這種替換,因此需要鏈結 libm。
學習筆記 Linux學習
echo i am whoami 反引號裡的內容會被當做命令執行 echo the cpu in my pc has cat proc cpuinfo grep c processor cores 等價於反引號 a 10 定義乙個變數,等號兩邊不能有空格 echo a的值為 a a的值為10 ech...
linux學習筆記
開機流程簡介 1 載入 bios 的硬體資訊,並取得第乙個開機裝置的代號 2 讀取第乙個開機裝置的 mbr 的 boot loader 亦即是 lilo,grub,spfdisk 等等 的開機資訊 3 載入 kernel 作業系統核心資訊,kernel 開始解壓縮,並且嘗試驅動所有硬體裝置 4 ke...
Linux 學習筆記
配置 telnet 服務 vi etc hosts.deny 在all all 行前加 號注釋,登出該行。新增一行all all 用 登出disable yes,或者修改為 disble no vi etc pam.d login 在auth required lib security pam se...