linux编译的c程序为什么可以再Android上运行

linux编译的c程序为什么可以再Android上运行,第1张

因为有些类型是不一样的,如果是经过另外的编饥粗译方式的话在arm运行的,嵌入式使用的就是你的代码是在Linux上别写的,但是由于编译方式的不同,可烂粗镇以将C程序运行在不同的平台上,这没什么好奇怪的。C语言程序可以运行凳销在任何的平台上,只是编译方式的不同而已。

嵌入式linux的android中,在执行交叉编译的C可执行文或扒件时,出现/system/bin/sh:xxx : No such file or directory或sh:xxx : No such file or directory的错误时,这一般是系统的动态链接器与xxx这个程序中的动态链接器的名字或路径不对(安卓和普通linux的根文件目录不一样)

使用静态链接库

即在最后加上-static选项(可行,推荐)

将所需要的动态链接库复制到/lib目录下宽庆(没试过这种方法,但在所需要执行C文件较多的情况下可以试试这种方法)

1、重新挂载文件系统为可读写

2、创建/lib目录

3、将交叉编译工具链target/lib目录中的ld-linux.so.3、libc.so.6放到lib下衫巧昌


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12471042.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存