我有下面的Makefile:Makefile文件可执行错误
all: test.c test1.c
gcc -o test test.c -lm
gcc -o test1 test1.c
./test 1000 input.txt
我得到了如下的错误./test 1000 input.txt make: *** [run] Error 255
。 Makefile是否正确?
我有下面的Makefile:Makefile文件可执行错误
all: test.c test1.c
gcc -o test test.c -lm
gcc -o test1 test1.c
./test 1000 input.txt
我得到了如下的错误./test 1000 input.txt make: *** [run] Error 255
。 Makefile是否正确?
./test 1000 input.txt make: *** [run] Error 255
这并不意味着你的Makefile有什么问题。这意味着您的./test
程序以状态255退出。
您还没有向我们显示test.c
,但我假设您没有写入return 255;
。由于退出状态通常只有8位,因此您可能(错误地)写入return -1
。您(错误地)忽略了从main
导致未定义行为的返回语句,并且-1恰好位于返回值寄存器(x86上的eax
)上。
你应该总是使编译器警告。为了强制你纠正它们,这些警告(通常表示破坏的代码)也会导致编译失败。
CFLAGS = -Wall -Wextra -Werror
test: test.c
$(CC) $(CFLAGS) -o [email protected] $^
这是错误!我在test.c中的主要方法中忘了'return 0;'。谢谢! – CapturedTree
错误255是“未找到命令”行中的内容。这可能是路径(但你已经添加了'./')或者编译失败,并且没有可执行文件(但是这会导致GCC抛出一条或多或少有用的评论)。所以请检查一切是否建立和适当。这是唯一的错误? – deamentiaemundi
是的,这是唯一的错误。 – CapturedTree
@deamentiaemundi我已经更新了我的问题,以使它更简单。你能再看一次吗? – CapturedTree