修改后,报错:warning: implicit declaration of function ‘rpmfree’
时间: 2023-07-08 12:46:27 浏览: 74
这个错误提示也是因为编译器无法找到`rpmfree`函数的声明。你需要在代码开头添加如下声明语句:
```c
void rpmfree(void* ptr);
```
或者你也可以包含`rpmalloc.h`头文件:
```c
#include <rpmalloc.h>
```
这个文件中包含了`rpmalloc`和`rpmfree`等函数的声明,因此包含该头文件可以避免这个错误。
相关问题
Main.c: In function 'main': Main.c:6: error: implicit declaration of function 'scanf' Main.c:6: warning: incompatible implicit declaration of built-in function 'scanf' Main.c:10: error: implicit declaration of function 'printf' Main.c:10: warning: incompatible implicit declaration of built-in function 'printf' Main.c:13: warning: incompatible implicit declaration of built-in function 'printf'
这个错误意味着您在代码中使用了未声明的函数scanf、printf。您需要在代码的开头添加以下头文件:
```c
#include <stdio.h>
```
这将声明scanf和printf函数。如果您已经包含了这个头文件,那么很可能是因为您的编译器不支持C99标准。在这种情况下,您需要将您的编译器升级或者显式地声明这些函数。例如,您可以添加以下代码:
```c
extern int scanf(const char *format, ...);
extern int printf(const char *format, ...);
```
这将显式声明这些函数并解决编译错误。
然后我是用gcc main.c -L. -lrpmalloc -o app 编译,报错:warning: implicit declaration of function ‘rpfree’
这个错误是因为你在代码中使用了`rpfree`函数,但是这个函数没有在任何头文件中声明过。正确的函数名应该是`rpmfree`。
因此,你可以将代码中的`rpfree`改为`rpmfree`,或者在代码开头添加如下声明语句:
```c
void rpmfree(void* ptr);
```
这样编译器就能够正确地识别`rpmfree`函数了。