1
file 文件名-----查看文件格式
原.c文件通过gcc编译是在主机(x86)上运行的。如果通过挂载的方式,在开发板上不能直接运行编译后的文件,需要通过交叉编译生成可在板子上直接运行的arm版本文件。
交叉编译代码
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
arm-buildroot-linux-gnueabihf-gcc -o hello hello.c
2、挂载
使用mount命令
mount -t (指定类型)-o nolock,vers=3 (服务器地址):绝对地址(服务器中的目录) /板子目录
1、头文件查找方法
①头文件尖括号指的是去工具链指定的目录查找
②引号代表当前目录下查找
③如果将文件中sub.hd的引号修改成尖括号,按之前-v是找不到头文件,两种方法解决:
a: -v后面加上 -I ./ (-I代表指定头文件地址)
b:将头文件放入工具链所在的文件中(如:/user/include)
2、将头文件当作库
①静态库
命令:ar crs libsub.a sub.o
将libsub.a和其他.o文件链接在一起
②动态库
命令:gcc -shared -o libsub.so sub.o
链接操作:gcc -o test2 main.o libsub.so
gcc -o test2 main.o -lsub(一般写法),但是-lsub需要指定库的位置,不指定的情况下会去库路径下查找
如何指定库位置:直接在链接时指定库的位置gcc -o test2 main.o -L ./ -lsub
运行时也需指定库的位置:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/a(/a为具体路径)