gcc 交叉编译器·相关知识

gcc 交叉编译器

1.预处理:不检查语法错误,不进行运算

2.编译:gcc -S hello.c  编译时进行初步检查和初步运算并停下来

3.汇编:gcc -c hello.c    生成一个.o 目标文件并停下来

4.链接:生成可执行文件

一些些代码~:

gcc demo.c -o demo      给文件重起名字(ELF文件)

time ./demo            测试运行时间

gcc – Wall demo.c        开启全部的警告

gcc – w demo.c          关闭警告

gcc –O1,-O2,-O3         一二三级优化

 

常用编译选项:-E ,-S, -c, -o,-Wall,-w,-O123,-D

 

静态库和动态库的制作与使用

1.库文件:保存函数和变量(只能使用不能看到其实现)

SDK开发包:库文件+开发工具

2.库分类

静态库:使用静态库编译程序,是在编译时加载

动态库:使用动态库编译程序,是在运行时加载

3.linux 库文件存放位置:/lib /usr/lib

4.制作静态库步骤

(1) gcc  –c  add.c  生成.o文件

      gcc  –c  sub.c

(2)sr  -rcs  libcal.a  add.o  sub.o  生成库文件libcal.a

(3)gcc  main.c  -lcal  -L.  -o  cal

(4)./cal  运行

5.动态库

    (1) -shared  –fPIC  add.c  sub.c  –o  libcal.so

    (2) gcc main.c ./libcal.so  -o cal   

6. 库文件

libm.a/libc.a    数学函数存放处

gcc  hello.c  -lm

你可能感兴趣的:(嵌入式操作系统应用基础)