-
1.
查看全部 -
20161013 LinuxC語言結(jié)構(gòu)體 2-1 預(yù)處理 gcc -o helloworld.i helloworld.c 執(zhí)行過程如下: .c文件 -> (預(yù)處理).i文件 ->(編譯) .s文件 ->(匯編).o文件 ->(鏈接)可執(zhí)行文件 gcc -o helloworld.i helloworld.c -E (只進(jìn)行預(yù)處理,生成.i文件 ) 預(yù)處理: 1.展開頭文件(如 展開 include <stdio.h>的內(nèi)容) 2.宏替換:本質(zhì)就是發(fā)生在預(yù)處理的單純的字符串替換 注釋 宏定義: 就是常量,數(shù)組buffer。不以分號(hào)結(jié)尾 #define R 10(此處 10為字符串)
查看全部 -
.c文件(預(yù)處理) --> ?.i文件(編譯) -->.s文件(匯編) --> .o文件(鏈接)-->可執(zhí)行文件
查看全部 -
預(yù)處理->編譯->匯編->鏈接
查看全部 -
& 按位與
| 按位或
^ 按位異或
~按位取反
<<? 按位左移
>>按位右移
查看全部 -
w->name 可以替代(*w).name
查看全部 -
預(yù)處理之宏定義
預(yù)處理只typedef
查看全部 -
預(yù)處理階段宏定義不考慮C的語法
查看全部 -
預(yù)處理展開的頭文件
查看全部 -
gcc -o helloWorld.i helloWorld.c -E
-E表示只讓helloWorld.c進(jìn)行預(yù)處理
查看全部 -
.c文件 -> .i文件? 預(yù)處理
.i文件->.s文件?? 編譯
.s文件->.o文件? 匯編
.o -> 可執(zhí)行文件? 連接
查看全部 -
.c文件? -> .i文件 -> .
預(yù)處理
查看全部 -
預(yù)處理階段不會(huì)進(jìn)行運(yùn)算,宏替換只是單純的字符串替換
查看全部 -
宏替換在預(yù)處理階段執(zhí)行,不考慮C的語法
查看全部 -
編譯的四個(gè)步驟
由C語言的文件生成一個(gè)可執(zhí)行的可執(zhí)行文件
gcc ? ? 對(duì)文件進(jìn)行編譯
./a.out ? ?輸出可執(zhí)行文件
查看全部
舉報(bào)