[英]C preprocessor directive error
我想使用他的脚本时遇到问题:
lib1.h
...
#ifdef LIB1_01
int lib1func(void);
#endif
...
lib1.c
...
#ifdef LIB1_01
int lib1func(void){
...
}
#endif
...
main.c
#define LIB1_01
#include <lib1.h>
int main(){
...
int x = lib1func(void);
...
...
我想在声明#define LIB1_01时使用lib1func(),但是使用它时出现“警告:函数的隐式声明”错误...为什么? 你能帮助我吗 ? 最好的祝福。
推荐的替代品:
lib1.h
#ifndef LIB1_H
#define LIB1_H
int lib1func(void);
#endif
...
lib1.c
#include "lib1.h"
int lib1func(void){
...
}
main.c中
#include "lib1.h"
int main(){
...
int x = lib1func(void);
...
...
注意:
1)您应该在标头中声明“ int lib1func(void)”,但是您可以在任何地方定义它。 在lib1.c(如果愿意)中,甚至在main.c中。 只要确保只定义一次即可。
2)注意在整个割台本体周围使用防护罩 。
3)还要注意使用include "myheader.h"
(用于您自己的头文件)与#include <systemheader.h>
。 “ <>
”语法应仅用于系统头文件。
要使用这种包含,请使用选项I
编译。
gcc myfile.c -o myfile -I .
的.
符号表示在当前目录中查找。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.