gcc -o o是output的意思,-v是列印詳細資訊
在linux系統中return 0;0代表成功,其他都代表不成功
gcc根據檔名的字尾呼叫不同的翻譯模組,翻譯為機器碼
gcc -c 直接由a.c到a.o,不用a.s再到a.o
gcc -o 包括編譯 鏈結
gcc -e 預處理
預處理:處理include define的內容,處理過後.i檔案中已經沒有include define了,
後面緊跟著是編譯(-s)、彙編(-c)、鏈結(-o)
所以include define不是關鍵字
#include "":""會先在當前目錄下找包含檔案,然後再去系統中找
gcc -i 查詢標頭檔案的目錄
#define 巨集替換,不進行語法檢查,巨集體習慣加括號,防止意外錯誤
#define abc(x) (5+(x)) 一般巨集名大寫
__function__ __file__ __line通常用來除錯
條件編譯:gcc -dabc1 ===#define abc1
巨集體中的#是字串化,eg:#define abc(x) #x ,如果是abc(a),則會成為『a』,a會成為字串
巨集體中的##是連線,eg:#define abc(x) day##x,如果是abc(a),則會成為dayx,day是字首
sizeof是關鍵字,嚴格來說,eg:printf("%lu",sizeof(a));sizeof是編譯器給我們檢視變數記憶體容量的工具
sizeof不區分環境,他不是函式,所以在裸機和linux系統程式設計中都可以使用
sizeof 的值由編譯器決定,不同的編譯器sizeof的值不同
c語言操作的是記憶體(包括記憶體、視訊記憶體等各類資源)
char型別是1個位元組,8bit,最大值是255,char a = 300,這就不對了
c語言的學習
今天繼續學習了c語言,這兩天講的進度很慢,所以學習的內容都能夠理解。今天主要是講了一下關於進製的知識,進製在以前接觸過,有一點基礎,所以不是很難,然後練習了一些二進位制如何轉成十進位制,如何轉成八進位制,如何轉成十六進製制,這些都是沒有問題的。然後就是c裡面的原碼反碼和補碼的轉換,首先,是有符號的數...
c語言的學習
從大一開始學習c語言程式設計,掌握了c語言的基本語法 進行課程設計,掌握了c語言的應用。大二主要是學習了資料結構和演算法,負責解決複雜的現實問題,需要用到比較複雜的資料結構或是演算法。大三主要學習了計算機網路和作業系統,了解了計算機的網路的從底層到上層的所有知識,到操作 系統,了解了計算機本身設計的...
c語言的學習
1.乙個 good news 0 的字串。其中 0表示字串終止,終止符是編譯時自動加上的,然後乙個字元乙個字元地複製到s所指的記憶體區域。因此定義字串陣列時,其元素個數至少應該比字串的長度多1。2.預處理運算子 為巨集擴充套件提供了一種連線實際變元的手段。如果替換文字中的引數用 相 連,那麼引數就被...