在嵌入式 linux 上执行简单的 C 程序时出现无法理解的错误

Incomprehensible error when executing simple C program on an embedded linux

我只需要在我的嵌入式 linux 上执行一个用 C 编写的简单 helloworld 程序。我使用了许多交叉编译器来构建不同的工具链,并在模拟器上运行。

但在目标系统上它每次都显示相同的错误:

./helloworld: 1: Syntax error: newline unexpected 

所以我确定这不是二进制问题而是系统错误。我下载了一个可在目标系统上运行的二进制文件(例如来自 bin 目录的日期),然后将其上传回目标系统 - 我在执行新上传的二进制文件时遇到了同样的错误。

如何解决这个问题?

我猜这就是问题所在:

~ $ wget  http://www.slashdot.org/helloworld
Connecting to www.slashdot.org (216.34.181.48:80)
Connecting to slashdot.org (216.34.181.45:80)
helloworld           100% |**********************|   161k  0:00:00 ETA
~ $ chmod a+x helloworld
~ $ ./helloworld
./helloworld: line 1: syntax error: unexpected newline
~ $ 

你的 wget 并没有真正下载二进制文件,但得到了一些 html-page 回来。