arm平台进行c语言编译
安装gcc环境
测试用的unbutu平台,直接在开发板上面运行,如果在虚拟机上面运行的话又要弄交叉编译,太麻烦;直接在开发板上面联网,然后输入:
sudo apt-get install build-essential
编译
假如有一个hello.c的文件需要编译,直接使用指令:gcc hello.c -o hello生成可执行文件
创建静态库
假如hello1.c是需要编译的文件,
#include <stdio.h>
int hello1 (void)
{
printf("hello 1 by .so .a process!\n");
return 0;
}
1.先编译c文件,gcc -c hello1.c,得到hello.o
2.用 ar 命令即可创建一个库文件, ar -r libhello.a hello1.o
创建动态库
继续用hello1.c来作为例子,
1.先进行编译,gcc -c -fpic hello1.c
2.生成so库,gcc -shared hello1.o -o libhello.so
也可以直接一条指令完成->gcc -fpic -shared hello1.c -o libhello.so
反编译设备树
$ dtc -I dtb -O dts -o <devicetree name>.dts <devicetree name>.dtb
sudo apt-get install device-tree-compiler
编译设备树:
$ dtc -I dts -O dtb -o <devicetree name>.dtb <devicetree name>.dts