执行文件明明在却显示not found

chenyuntian 2008-08-25 11:34:54
编写了个hello.c 然后编译:

nios2-linux-gcc hello.c -o therun

在终端上运行:
# ls
therun
# therun
therun: not found

-rwxr-xr-x 1 0 0 63297 therun

文件格式需要转换???还是什么原因??
怎么弄成romfs格式?
...全文
382 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
朱云翔老师 2008-08-25
  • 打赏
  • 举报
回复
同意,或者在执行前面加./或者在path环境变量中增加./,都行,path的意思就是查找程序的路径,比如你找一个叫张三的人,path路径定位某单位,那么就只某单位中找张3,如果张3不是某单位的,就是他就站在你面前,也不会找。

____________________________________________
《精通Unix下C语言编程与项目实践》
本书以实际应用为目标,直接讲述在产生中最有可能知识,并提供可直接使用的应用编程模板,对初学者尤其有帮助。
本人博客地址:http://zhuyunxiang.csai.cn
悠悠长风 2008-08-25
  • 打赏
  • 举报
回复
使用./therun调用就可以了。

楼主,在linux下编程,首先你要对linux有个基本的认识啊,最起码知道怎么用啊。
wlabing 2008-08-25
  • 打赏
  • 举报
回复
PATH变量一般不包含当前目录,所以执行当前上当的程序得在前面加"./",即./therun
"看不明白"指的是什么不明白?
是这种运行方式不明白还是运行结果不明白?
若是前者,看第一行的描述.若是后者,看你的源代码.
chenyuntian 2008-08-25
  • 打赏
  • 举报
回复
看不明白:
# ./therun
BINFMT_FLAT: bad header magic
BINFMT_FLAT: bad header magic
therun: applet not found
huoyin 2008-08-25
  • 打赏
  • 举报
回复
试试这个:

./therun
快乐田伯光 2008-08-25
  • 打赏
  • 举报
回复
一般来说最好不要把.加入path环境变量中,因为别有用心的用户可能在当前目录下放一个恶意的执行文件取名为ls,当其它用户登录后很可能会执行ls这个命令,而这时实际执行的不是你想要的结果。

23,222

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧