2024年3月26日

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为具体路径)

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值