19、深入了解gcc编译过程

1、gcc编译过程分为

预处理

gcc -E -o hello.i hello.c

编译

gcc -S -o hello.s hello.i

汇编

gcc -c -o hello.o hello.S

连接

gcc -o hello hello.o

打印详细过程,可以查看到连接了那些库和文件

gcc -v -o hello hello.o

-lc    连接libc.so库

2、动态连接,使得执行程序很小,但是执行的时候要将库一起加载到内存里面才可以

静态连接执行程序很大,因为库也加进来了,但是不需要去找这个库了。

gcc -static -o hello hello.o    静态连接

file 可以查看是否是动态连接还是静态连接

ldd可以查看执行程序都连接了那些库

gcc -m32 -o key_led key_led.c   -m32是编译成32位的执行文件

你可能感兴趣的:(第2期ARM裸机加强版)