1. c語言是如何編譯成二進制
計算機專業有門課程叫做《編譯原理》,詳細講述了怎麼把高級語言翻譯成匯編語言活著機器能看懂的二進制代碼。
簡單的說,C語言是通過編譯器翻譯成二進制代碼的(就像英譯漢的軟體把英文翻譯成漢語一樣。把高級語言翻譯成機器語言過程很復雜,學了編譯原理就懂了)。還有編譯器可以用各種語言編寫,C語言可以被用C語言寫的編譯器來編譯。
2. c語言gdb調試時怎麼看預編譯宏是否定義
gdb 看不了任何與宏有關的內容。宏在編譯之前,就被預編譯器替換掉了,對於編譯器來說,根本看不到所謂的宏,所以編譯出來的二進制代碼中,也根本不會包含任何宏本身的信息,gdb也自然無法獲取信息了。