我可以在 C 中创建具有未解决依赖关系的函数吗?
can I make functions with unresolved dependency in C?
什么是 SHORTEST 或 Easiest 方法来解决以下依赖性问题。鉴于此,我必须将 xx
保存在一个单独的文件中。
file1.h
static inline void xx(){
yy();//yy is not defined in this file but defined in file2.c;
}
file2.c
#include "file1.h"
void yy(){
printf("Hello");
}
void main(){
xx();
}
未定义 file1 yy 中的编译器错误。
需要声明但不需要定义:
// file1.h
static inline void xx() {
void yy(); // Just a declaration
yy();
}
// file2.c
#include "file1.h"
void yy() {
printf("Hello");
}
int main() { // void main is not legal C
xx(); // Works fine.
}
预先声明yy
。
file1.h
+++ void yy();
static inline void xx(){
yy();
}
只需在使用前声明函数即可解决问题。
static inline void xx() {
void yy();
yy(); // no more yy is not declared
}
什么是 SHORTEST 或 Easiest 方法来解决以下依赖性问题。鉴于此,我必须将 xx
保存在一个单独的文件中。
file1.h
static inline void xx(){
yy();//yy is not defined in this file but defined in file2.c;
}
file2.c
#include "file1.h"
void yy(){
printf("Hello");
}
void main(){
xx();
}
未定义 file1 yy 中的编译器错误。
需要声明但不需要定义:
// file1.h
static inline void xx() {
void yy(); // Just a declaration
yy();
}
// file2.c
#include "file1.h"
void yy() {
printf("Hello");
}
int main() { // void main is not legal C
xx(); // Works fine.
}
预先声明yy
。
file1.h
+++ void yy(); static inline void xx(){ yy(); }
只需在使用前声明函数即可解决问题。
static inline void xx() {
void yy();
yy(); // no more yy is not declared
}