我有三个文件,libsched.c
、main.c
和 libgrapher.c
以及它们的 header *.h
libsched.h
定义typedef struct p{.....}process;
然后main.c
使用libsched。 h
.
然后我有另一个文件 libgrapher.c
,它使用 libsched.h
中定义的 process
。
如何在不包含 libsched.h
的情况下告诉 libsched.h
process
存在于 libsched.h
中在 libgrapher.h
中。
在 libgrapher.h
中重新定义 struct
给我一个错误,它被重新定义了。
最佳答案
您的要求没有任何意义。 libgrapher.h 需要访问 libsched.h 中的所有内容,然后它应该包含该头文件。或者,如果它不应访问该 h 文件中的所有内容而只能访问其中的一部分,那么您需要将 h 文件一分为二。
奇怪的要求和躲避各种文件依赖性的晦涩技巧的需要总是源于糟糕的程序设计。每当您发现自己需要这样的东西时,请退后一步并重新考虑您的程序设计。
关于c - 如何在包含在 C 中定义结构的头文件的文件中包含 extern typdef struct?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29770644/