segmentation fault 错误(运行一个简单的helloworld程序)

一、出错如下

程序100%正确。。。尴尬。

#include 

void main()
{
  printf("Hello World\n");
}

在linux主机上编译,下载到开发板后运行结果如下:
segmentation fault 错误(运行一个简单的helloworld程序)_第1张图片

二、出错原因

编译内核时使用的交叉编译器和编译文件系统时使用的交叉编译器不一致所致。

三、解决过程

当你并不知道你的根文件系统用的什么交叉编译器编译时。

1、使用file查看你的hello应用程序用的交叉编译器是否和文件系统时用的交叉编译器一样:

file查看你的hello应用:
segmentation fault 错误(运行一个简单的helloworld程序)_第2张图片
file查看根文件系统上的一个应用(比如现在用的 file ,路径在/usr/bin/file):
segmentation fault 错误(运行一个简单的helloworld程序)_第3张图片

通过上面比较可以发现。

通过上面的对比,可以发现你编译应用时程序使用的交叉编译工具和编译根文件系统时的交叉编译工具不一样。

2、根文件系统和linux内核编译时的交叉工具链不一致
重新编译其中一个。确保使用的交叉工具链一致。

四、解决后运行如下

segmentation fault 错误(运行一个简单的helloworld程序)_第4张图片

你可能感兴趣的:(❏【linux开发遇到的问题】,❏【F1C100S学习】,❏【buildroot应用】)