当前位置: 技术问答>linux和unix
linux下的运行二进制问题
来源: 互联网 发布时间:2016-08-21
本文导语: 我的系统:linux radhat 9.0 gcc版本 :gcc 3.2.2 问题: 之前有一段时间我在此系统下用GCC -O NAME -c NAME.c 通过了编译,运用./NAME运行文件可以运行,而且NAME的权限有X, 但是现在是同一个目录下,编写的C程序,也用上面同样的...
我的系统:linux radhat 9.0
gcc版本 :gcc 3.2.2
问题: 之前有一段时间我在此系统下用GCC -O NAME -c NAME.c
通过了编译,运用./NAME运行文件可以运行,而且NAME的权限有X,
但是现在是同一个目录下,编写的C程序,也用上面同样的方式进行编译通过,
运用./NAME运行文件却出现权限不够,查看没有X项,更改权限过后,再./NAME运行,
却出现cannot execute binary file 不能运行二进制文件...
为什么会出现这样的呢? 该如何进行解决呢?
PS:我没有对系统更改过什么设置,只进行过多个源文件用GCC进行关联编译生a.out文件过...
请各位帮忙解决下,现在急需解决....
谢谢各位...
gcc版本 :gcc 3.2.2
问题: 之前有一段时间我在此系统下用GCC -O NAME -c NAME.c
通过了编译,运用./NAME运行文件可以运行,而且NAME的权限有X,
但是现在是同一个目录下,编写的C程序,也用上面同样的方式进行编译通过,
运用./NAME运行文件却出现权限不够,查看没有X项,更改权限过后,再./NAME运行,
却出现cannot execute binary file 不能运行二进制文件...
为什么会出现这样的呢? 该如何进行解决呢?
PS:我没有对系统更改过什么设置,只进行过多个源文件用GCC进行关联编译生a.out文件过...
请各位帮忙解决下,现在急需解决....
谢谢各位...
|
前几天也有人问你和你一样的问题
你编译可执行的二进制文件 用GCC -O NAME -c NAME.c
这是错误的 应该不加-c参数 -c参数只激活预处理 编译 和汇编 也就是他只把程序做成obj文件 是无法运行的
直接gcc -O NAME NAME.c
然后./NAME 来运行
你编译可执行的二进制文件 用GCC -O NAME -c NAME.c
这是错误的 应该不加-c参数 -c参数只激活预处理 编译 和汇编 也就是他只把程序做成obj文件 是无法运行的
直接gcc -O NAME NAME.c
然后./NAME 来运行