gpt4 book ai didi

c - 为什么我在使用 Make 和 Emacs 时会出现此错误?

转载 作者:太空宇宙 更新时间:2023-11-04 06:37:56 25 4
gpt4 key购买 nike

我有一个C程序如下:

#include<stdio.h>

void main()
{
printf("Hello");

}

文件名为linkedlist.c

和makefile在同一个目录下

build: linkedlist.c
gcc -Wall -g -pedantic linkedlist.c -o linkedlist
run:
./linkedlist

我首先进行 M-x 编译,然后进行构建,然后进行 M-x 编译 ->make 运行,输出如下:

-*- mode: compilation; default-directory: "/home/amey/test/" -*-
Compilation started at Sat Sep 22 16:59:13

make run
./linkedlist
Hello make: *** [run] Error 5

Compilation exited abnormally with code 2 at Sat Sep 22 16:59:13

以 ./运行时生成的文件没有错误。有人可以解释发生了什么吗?

最佳答案

由于您的 main 没有返回值或调用 exit,您将获得一个随机返回码 ... 在本例中为 5(这并非完全巧合,是“Hello”的长度和返回值通过 printf)。由于它不是 0,make 将其解释为错误。

要成为托管环境中的符合标准的 C 程序,您的 main 必须声明为 int,并且函数的末尾不能到达(没有 return 语句)。返回值的解释取决于实现,但通常 0 被认为是成功,非 0 被认为是错误。

关于c - 为什么我在使用 Make 和 Emacs 时会出现此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12548384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com