日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Third Week :Linux下的C语言

發布時間:2025/4/5 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Third Week :Linux下的C语言 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux下的C語言

  • 1. 搭建C語言開發環境/運行環境
    • 1. 文本編輯
    • 2. 編譯器
    • 3. 頭文件和系統預裝文件
    • 4. make 工具
    • 5. echo
  • 2. 標準輸入流/輸出流/錯誤流
    • 1. 重定向機制
    • 2. 管道
  • 3.GDB調試工具的使用以及內存
    • 1. GDB 調試工具的使用
    • 2. 內存
  • 4. 指針

1. 搭建C語言開發環境/運行環境

1. 文本編輯

Linux下文本編輯器常用emacs和vim,由于本人常用vim,因此暫時只講述vim的用法,vim需要自行安裝

#安裝命令 sudo apt-get update #將系統內所有資源更新為最新版本 sudo apt-get install vim

vim的使用是一門深奧的學問,將vim使用好是現階段的目標,讓我們一起來看一下吧!

#vim編輯器的使用 vim **.c #進入某個文件 #進入后為命令模式,需要按英文輸入模式下的i進入插入模式,才能夠編輯文檔 #如果想要退出編輯模式,按esc鍵回到命令模式,shift+:進入輸入命令模式,w表示保存,q表示退出,通常情況下wq一起使用 #一些小快捷鍵 I 當前光標前 a 當前光標后面插入 shift + a / A 行位插入 shift +i / I 行首插入 o 下一行插入 shift + o / O 上一行插入 x 刪除光標所在位置的 dd 整行刪除 number + dd 剪切當前光標下面的number行,放到粘貼板上 p 粘貼 set nu 顯示行號

當我們想要編輯多個文件的時候怎么辦呢?— 多個源文件分而治之

命令模式下: sp 文件名.c ctrl + w + 上箭頭 進入上面的代碼塊 ctrl + w + 下箭頭 進入下面的代碼塊 wqa 所有文件都保存并退出

2. 編譯器

Linux下C語言編譯器常使用cc或者gcc,一般的Linux系統已經為我們安裝好了,可以通過命令進行查看。

#查看cc和gcc版本信息cc -vgcc -v#編譯命令cc / gcc **.c參數:-c **.c -o ***.out 編譯后的文件名#執行命令./***.out

3. 頭文件和系統預裝文件

<> 這樣文件導入,表示為系統預裝文件
“” 這樣導入的文件表示是在當前路徑下的文件

頭文件的作用:不會在修改的函數 公共框架/公共類 打包做成一個靜態庫,提前編譯好,因為編譯后就無法看到源代碼了,可以寫成頭文件,便于其他人使用

例如:max的頭文件max.h
int max(int a , int b);

4. make 工具

make工具可以將大型的開發項目分成若干個模塊,可以清晰和快捷的整理源文件,內部使用gcc

#檢查make版本信息 make -v

makefile 文件 每次只需要修改該文件即可
結構:

**注釋 最終需要的文件:需要那些文件執行什么命令 需要文件1:源文件[tab/6空格]執行什么文件** 保存并退出 **make命令執行該文件** eg: # this is makefile hello.out:max.o min.o hello.cgcc max.o min.o hello.c max.o:max.cgcc -c max.c min.o:min.cgcc -c min.c

5. echo

gcc main.c -o main.out && ./main.out
&& 符號表示前面表達式返回0后面語句才能夠執行

echo $? 輸出0表示程序運行成功,其他表示失敗

2. 標準輸入流/輸出流/錯誤流

printf,scanf底層源碼:

fprintf(stdout,"please input the value a:\n");int a;/*scanf("%d",&a);*/fscanf(stdin,"%d",&a);if(a<0){fprintf(stderr,"the value must > 0\n");return 1;}

1. 重定向機制

“>>” 輸出流重定向到某個文件,追加 不是覆蓋
“>” 覆蓋
“<” 輸入重定向

2. 管道

“ | ” 將前部分輸出傳入到后半部分代碼中

3.GDB調試工具的使用以及內存

1. GDB 調試工具的使用

注:gcc -g 編譯的才能夠進行調試

gdb 文件名.out start 開始調試 l 列出源代碼 n 繼續執行 p 變量名 顯示變量值 bt 查看函數堆棧 s 進入函數執行的內部

2. 內存

32位的系統最大只支持4g的內存,2^32 只有32條地址總線
64位的系統最大支持2^64的內存
(1) 系統內存分配示意圖

(2) 程序的內存映像
1)堆:用于存放函數參數值,函數返回地址,非靜態局部變量的值。
2)棧:由程序員分配釋放,如果程序員不釋放,程序結束后由os回收
3)全局區(靜態區):全局變量和靜態變量存儲在此處,初始化的放在一塊區域,未初始化的放在相鄰的另一塊區域BSS。
4)數據段:常量字符串放在這個區域。
5)代碼段:存放函數體的二進制代碼。

字節順序是指占內存多于一個字節類型的數據在內存中的存放順序,通常有小端、大端兩種字節順序。小端字節序指低字節數據存放在內存低地址處(由右向左),高字節數據存放在內存高地址處;大端字節序是高字節數據存放在低地址處,低字節數據存放在高地址處(由左向右)。

4. 指針

(1)* 和 & 區別
*是一個特殊符號,表明一個變量是指針變量,定義 p1、p2 時必須帶*。而給 p1、p2 賦值時,因為已經知道了它是一個指針變量,就沒必要多此一舉再帶上*,后邊可以像使用普通變量一樣來使用指針變量。也就是說,定義指針變量時必須帶*,給指針變量賦值時不能帶。

float a = 1.1; int b = 1.2; float *p1 = &a; # p 存放a的地址 *p存放a值 int *p2 = &b; #改變指針內容 p1 = &a; p2 = &b;

(2)* 不同場景下的使用
*在不同的場景下有不同的作用:可以用在指針變量的定義中,表明這是一個指針變量,以和普通變量區分開;使用指針變量時在前面加表示獲取指針指向的數據,或者說表示的是指針指向的數據本身。

int *p = &a; *p = 100;

(3) 數組指針
http://c.biancheng.net/view/1993.html
(4) 函數指針:(*函數名)(參數的類型 參數)
int (*pquadrate) (int a) = &quadrate;

Array數組其實是一種指針常量,而p則是一種指針變量(數組和指針有一定的通用性,又有一定的差別,指針可以表達數組,而數組不可以表達指針);
p++:指針偏移,運行效率比數組高;

(5) 指針運算,遍歷

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Third Week :Linux下的C语言的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美精品国产动漫 | 天天干天天天天 | 天堂av资源在线观看 | 波多野结衣之潜藏淫欲 | 久久久久久久久久久久久久久 | 777精品| gai视频在线观看资源 | 日韩在线视频第一页 | 日韩手机在线观看 | 国产激情精品 | 欧美日韩一卡二卡 | 天天天天天天天天干 | 9191国产精品| 色999视频 | 欧美放荡办公室videos4k | 日本va欧美va国产激情 | 日本在线观看一区 | 亚洲另类色综合网站 | 91亚洲一线产区二线产区 | 日本热久久 | 国产一区二区三区在线播放无 | 国产精品theporn88 | 69视频在线观看 | 狠狠躁日日躁夜夜躁2022麻豆 | 黄瓜污视频 | 国产精品欧美久久久久天天影视 | 黄色片日韩 | 国产鲁鲁视频在线观看免费 | 性做久久久久久久 | 精品一区二区亚洲 | 欧美午夜视频 | 成年人免费观看网站 | 91黄色免费观看 | 亚洲精品一区二区三区蜜桃久 | 超碰天天干 | 美女无遮挡免费网站 | 一区成人 | 蜜桃av噜噜一区二区三区 | 精品国产乱码久久久久久预案 | 国产黄在线免费观看 | 成人欧美一区二区三区黑人 | 天堂中文在线最新 | 自拍偷拍欧美亚洲 | 都市激情国产精品 | 欧美人xxx| 免费激情网站 | 动漫美女被吸乳奶动漫视频 | 国产一级在线免费观看 | 黄色网址最新 | 一卡二卡三卡在线观看 | 亚洲精品久久久久久久久 | 激情文学综合网 | 前任攻略在线观看免费完整版 | 亚洲视频福利 | 69日本xxxxxxxxx30| 国产亚洲精品久久 | 女人特黄大aaaaaa大片 | 色黄视频在线观看 | 亚洲一区二区三区免费 | 久久精品婷婷 | 51嘿嘿嘿国产精品伦理 | 性xx紧缚网站 | 不卡影院一区二区 | 青娱乐国产在线视频 | 欧美中文字幕在线 | 久久无码精品丰满人妻 | 日韩精品欧美精品 | 欧美激情国产一区 | xx视频在线| 国产精九九网站漫画 | 91尤物国产福利在线观看 | 日本三级网站在线观看 | 麻豆av免费在线 | 光棍福利视频 | 日韩免费在线播放 | 日本福利一区 | 免费污网站在线观看 | 丁香亚洲 | 91超碰在线播放 | 天堂在线资源网 | 欧美做爰全过程免费看 | av制服丝袜 | 国产传媒视频在线 | 人人草人人射 | 一级做a爱 | 国产人人爽 | 深田咏美在线x99av | 日韩一区二区三区在线观看视频 | 六月婷婷中文字幕 | 国产精品人成在线观看免费 | 韩日精品中文字幕 | 日本一级大毛片a一 | 日本熟女一区二区 | 天天插日日干 | 国产一区二区免费在线 | 精精国产xxxx视频在线 | 少妇精品一区二区三区 | 黑帮大佬和我的三百六十五天 | 亚洲综合激情另类小说区 |