我可以在 C 中创建具有未解决依赖关系的函数吗?

can I make functions with unresolved dependency in C?

什么是 SHORTESTEasiest 方法来解决以下依赖性问题。鉴于此,我必须将 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
}