1. c语言是如何编译成二进制
计算机专业有门课程叫做《编译原理》,详细讲述了怎么把高级语言翻译成汇编语言活着机器能看懂的二进制代码。
简单的说,C语言是通过编译器翻译成二进制代码的(就像英译汉的软件把英文翻译成汉语一样。把高级语言翻译成机器语言过程很复杂,学了编译原理就懂了)。还有编译器可以用各种语言编写,C语言可以被用C语言写的编译器来编译。
2. c语言gdb调试时怎么看预编译宏是否定义
gdb 看不了任何与宏有关的内容。宏在编译之前,就被预编译器替换掉了,对于编译器来说,根本看不到所谓的宏,所以编译出来的二进制代码中,也根本不会包含任何宏本身的信息,gdb也自然无法获取信息了。