鱼C论坛

 找回密码
 立即注册
查看: 2223|回复: 8

Linux出现不了可执行文件

[复制链接]
发表于 2020-5-2 17:23:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
[root@lamyangyang sle2]# vi test
[root@lamyangyang sle2]# gcc test.c -o test
gcc: test.c: No such file or directory
gcc: no input files
[root@lamyangyang sle2]# ls
test
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-2 17:58:10 | 显示全部楼层
文件名是test,不是test.c,所以Linux提示找不着test.c这个文件(要注意扩展名)

第一行应该这么写:
  1. vi test.c
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-2 18:42:23 | 显示全部楼层
本帖最后由 悠悠2264 于 2020-5-3 10:26 编辑

扩展名不一致,前面是test,后面是test.c
c文件使用.c后缀,可执行文件使用.out后缀。

先重命名一下,然后再gcc编译(要不然gcc识别不了文件名)
  1. mv ./test ./test.c
  2. gcc test.c -o test.out
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-2 20:04:59 | 显示全部楼层
悠悠2264 发表于 2020-5-2 18:42
扩展名不一致,前面是test,后面是test.c
建议c文件使用.c后缀,可执行文件使用.out后缀,当然不这样也可 ...
  1. gcc test -o test.out
复制代码


这条命令在我这边不能用,在你那边可以吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-2 20:59:03 | 显示全部楼层
vi创建test,而不是test.c 。编译的是时候你是test.c
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-2 22:46:54 From FishC Mobile | 显示全部楼层
本帖最后由 悠悠2264 于 2020-5-2 22:48 编辑
人造人 发表于 2020-5-2 20:04
这条命令在我这边不能用,在你那边可以吗?


可以的
如果提示:bush not found则需要安装gcc,执行以下命令即可:
  1. yum -y install gcc gcc-c++ kernel-devel
复制代码


如果提示No such file or directory则是文件名错误,请填写正确的文件名

如果什么都没提示,就表示编译成功了,执行即可:
  1. ./文件名(-o参数指定的)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-3 06:27:19 | 显示全部楼层
悠悠2264 发表于 2020-5-2 22:46
可以的
如果提示:bush not found则需要安装gcc,执行以下命令即可:

gcc提示 file not recognized: File format not recognized

  1. $ ls
  2. main.c
  3. $ cat main.c
  4. #include <stdio.h>

  5. int main(void) {
  6.     printf("hello world!\n");
  7.     return 0;
  8. }
  9. $ gcc -o main main.c
  10. $ ls
  11. main.c  main.exe
  12. $ cp main.c test
  13. $ ls
  14. main.c  main.exe  test
  15. $ gcc -o test.out test
  16. test: file not recognized: File format not recognized
  17. collect2: error: ld returned 1 exit status
  18. $ ls
  19. main.c  main.exe  test
  20. $
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-3 10:26:51 From FishC Mobile | 显示全部楼层
人造人 发表于 2020-5-3 06:27
gcc提示 file not recognized: File format not recognized


看来还是要以.c后缀才能被编译

  1. mv ./test ./test.c
  2. gcc test.c -o test.out
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-3 11:49:51 | 显示全部楼层
悠悠2264 发表于 2020-5-3 10:26
看来还是要以.c后缀才能被编译

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-6 18:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表