Linux學習第四天
一 gcc的使用
1.計算機能識別的唯一語言是二進位制語言
語言的發展
c語言是中級語言,具有彙編的特性,同時也具備高階語言可移植的特性。不管什麼語言要想被計算機執行,必須轉換成機器碼。
編譯器:將原始碼編譯成可執行多的程式碼(程式),相同的程式碼經過不同的編譯可以被不同的計算機所執行。
2 Linux系統常用的編譯c語言的編譯器是:gcc
c語言程式的編譯步驟
gcc預設生成的檔名是a.out,如果要定義生成的檔名用命令:gcc -o
3 程式的執行
Linux下執行程式,直接在終端敲檔名,要帶上路徑(相對路徑或者絕對路徑)
./a/out 其中./代表路徑
4 vim /etc/network/interfaces 網絡卡配置檔案
if down eth0 關閉網絡卡 if up eth0 開啟網絡卡
二 hello world
1 標頭檔案的包含方式
<> 預設從/uer/include目錄下搜尋檔案
“”“”先在當前目錄下搜尋下搜尋檔案,如果沒有再去/usr/include下找
#include“”“../stdio。h” 先在當前目錄的上一級目錄搜尋檔案,如果沒有再去/usr/include下找
2 stdio.h c語言的標準輸入輸出標頭檔案
3 main
有返回值,返回值為int型別,用來表示程式結束狀態,如果程式是正常結束返回0,異常結束返回其他值
c語言有且只有一個返回值,且程式是由main函式開始執行的
4{}程式碼塊
5 return 表明main函式結束,下面的部分都不執行
6 printf()是stdio.h檔案中的一個函式。使用這個函式必須包含stdio.h這個標頭檔案
7 註釋 1 // 單行註釋 /**/ 多行註釋
8 編碼規範
{下面一行內容和{要有四個空格的縮排
單詞之間要有空格
不同的邏輯之間要有空行
9 c語言語句是以;結尾
三 記憶體
1 程式
(1)沒有執行的程式就是一堆程式碼,存在儲存裝置中(手機,u盤.....)
(2)執行起來的程式,程式會被讀到記憶體中執行,記憶體中存該程式的可執行程式碼,資料
2 儲存單位
1 bit 位 是一個二進位制數字只能表示0 或者1 單位:b
2 Byte 位元組,單位B 1B=8b
3 KB 1KB=1024B=2^10B
4 MB 1MB=1024KB=2^20B
5 GB 1GB=1024MB=2^30B
2 如何管理位元組
記憶體為每個位元組分配了一個編號,類似於人的身份證號,這個編號叫做記憶體的地址
編號的位數是固定的
(1)32位系統 編號是32位 進位制二進位制 大小:4B
(2)64位系統 編號64位 進位制二進位制 大小:8B
32位系統,記憶體編號4位元組,最大能存多少個位元組
範圍:00000........0000000(32個0)--------》111111.......1111111(32個1)
0 2^32-1
總共2^32位元組=4G
3 資料儲存
記憶體存的是二進位制資料,以1個位元組為例:
(1)無符號數:只有正數,不帶正負號
範圍:00000000-------》11111111 0-----》255
(2)有符號數:帶正負號的數
記憶體取最高值為符號位:0:正數 1:負數
正數在記憶體中存的是資料本身
負數是取絕對值轉換成二進位制,對每位取反然後加1
比如5 :在記憶體中的值是00000101
-5:10000101取反 11111010 加1 11111011
實際記憶體中的中的值是 11111011
0在記憶體中表示:00000000
人為規定-0在記憶體中就是-128 就是說10000000這個值就是-128
(3)有符號數的取值範圍
10000000------》01111111 -128------》127
有符號數在一個位元組範圍內
127+1
127在記憶體中的儲存:011111111
1在記憶體中的儲存 :00000001
和 :10000000