gpt4 book ai didi

编译错误 : Fprintf throws parse error

转载 作者:太空狗 更新时间:2023-10-29 11:42:20 24 4
gpt4 key购买 nike

我正在尝试检测错误,所以我在我的程序中包含了一些痕迹。问题是在那之后,它没有编译,给我下一个错误:

../src/DR700_API.c:46: parse error before `*'

我只是在每个函数的开头添加了一个 fprintf:

fprintf(stdout,"_name_of_function_");

评论它编译正确的所有 fprintf,所以有错误。我不能放弃它们,因为我想跟踪执行时间中的其他错误。

举个例子:

#include <stdio.h>                                                                                                                          
#include <stdlib.h>

ImprFunc *DR700_new()
{
fprintf(stdout,"DR700_new");
ImprFunc *impr = (ImprFunc *)malloc(sizeof(DR700_ImprFunc));
if (impr == NULL)
return NULL;
...


../src/DR700_API.c:46: parse error before `*'
../src/DR700_API.c:47: `impr' undeclared (first use in this function)
../src/DR700_API.c:47: (Each undeclared identifier is reported only once
../src/DR700_API.c:47: for each function it appears in.)
make: *** [../obj/DR700_API.o] Error 1

最佳答案

可能您的设置不允许混合代码和声明(根据 C89)。如果您不希望影响项目设置 - 尝试在任何代码之前保留声明。在您的示例中,这意味着

ImprFunc *impr = (ImprFunc *)malloc(sizeof(DR700_ImprFunc));
fprintf(stdout,"DR700_new");

代替

fprintf(stdout,"DR700_new");
ImprFunc *impr = (ImprFunc *)malloc(sizeof(DR700_ImprFunc));

或者 - 添加 -std=c99(如评论中所述)。

关于编译错误 : Fprintf throws parse error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38432138/

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