编译器编译步骤:以hello.c为例
1、预处理(gcc -E hello.c -o hello.i)展开头文件,删除注释、空行等无用内容,替换宏定义。
2、编译(gcc -S hello.i -o hello.s)检查语法错误,如果有错则打印错误信息,如果没有错误则生成汇编文件。
3、汇编(gcc -c hello.s -o hello.o)将汇编语言转换生成二进制目标文件,附带链接信息。
4、链接(gcc hello.o -o hello) 将目标文件链接库文件,最终生成机器可以识别的二进制可执行程序。
生成可执行文件hello
./hello输出hello world!
作用:将高级语言编译生成机器可以执行的可执行程序。
问题:用gcc生成的这个可执行程序hello能不能放到安卓手机里运行?
答:不能,电脑的处理器是Intel x64/x86架构的,而手机大多都是ARM架构的,
硬件架构不同所对应的汇编文件内容也不同,因此无法执行。
如果想执行,只需用ARM的编译器重新编译hello.c文件即可。