解决交叉编译产生的程序放到目标板上运行时出现Segmentation fault (core dumped)

在PC机上编译一段程序:

arm-linux-gnueabihf-gcc -o hello hello.c 

这里产生 hello文件用FTP传输到目标板上(树莓派3B+),运行时出现:
在这里插入图片描述
报告段错误。
后来我又试了不输出指定的文件名:

arm-linux-gnueabihf-gcc  hello.c 

这里产生的a.out用fpt传输过去居然能运行:
在这里插入图片描述
为这个情况折腾了好久,后面终于解决了,原来是FTP传输的事,搞了一天飞长恼火,快没耐心了fuc×××都冒出来了。
后来一想会不会是中间传输过程出了问题,我继续
输出指定文件为hello.out:

arm-linux-gnueabihf-gcc  -o hello.out   hello.c 

ftp传输过去,这次居然能运行了```!!!:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190830173908561.png)
这下开始怀疑是ftp传输过程中把我的文件给修改了。。。
# 解决办法

修改树莓派端ftp配置文件:

sudo vim /etc/vsftpd.conf
将下面3项开启:
在这里插入图片描述在这里插入图片描述
``现在编译产生目标文件hello:
传输到树莓派运行成功:
在这里插入图片描述

你可能感兴趣的:(嵌入式,Segmentation,fault)